jpa (2) 썸네일형 리스트형 [JPA] 동적쿼리, QueryDSL JPA, QueyrDSL을 통해 동적쿼리를 다루는 방법에 대해 살펴보겠습니다. 전체 소스코드는 아래에서 확인하실 수 있습니다. (https://github.com/LimYooyeol/blog/tree/main/dynamic-query) 1. 동적쿼리가 필요한 상황 이번에도 간단하게 Member와 Team을 활용해서 문제 상황을 재현해보겠습니다. @Entity @Getter @Setter @ToString public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Long number; @ManyToOne(fetch = FetchType.LAZY.. [JPA] N+1 문제 해결하기 JPA를 사용하면 한번쯤 겪게 되는 N+1 문제와 해결방법에 대해 정리해보겠습니다. 1. N+1 문제란? 하나의 쿼리로 데이터 N개의 목록을 가져오려고 할 때, 각 데이터 별로 연관된 데이터를 조회하는 쿼리가 발생하여, 총 N개의 쿼리가 추가로 발생하는 문제를 N+1 문제라고 합니다. 한 회원이 여러 게시물을 작성할 수 있다고 가정하고, Board 에서만 N:1 단방향으로 회원을 참조하도록 설계해보겠습니다. 이제 BoardRepository와 MemberRepository를 작성해보겠습니다. 간단하게 삽입과 조회 기능만 추가해두겠습니다. 다음으로 회원과 게시물 데이터를 넣고, 게시물의 목록을 조회하는 findAllByViewDesc를 이용해 게시물 목록을 조회수 내림차순으로 조회해보겠습니다. 테스트 코드.. 이전 1 다음