전체 글 (22) 썸네일형 리스트형 [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를 이용해 게시물 목록을 조회수 내림차순으로 조회해보겠습니다. 테스트 코드.. [글로런] N+1 문제 해결하기 코스 목록을 조회하는 로직에서, N+1 문제가 발생한 적이 있습니다. 코스 목록을 조회하면서, 각 코스 별로 작성자를 조회하는 쿼리가 N번 발생하는 문제가 발생한 것이죠. 문제 상황과 해결과정은 아래의 글에 별도로 정리해두었습니다. https://lback.tistory.com/12 이전 1 2 3 4 5 6 7 8 다음