querydsl1 JPA Pagination, 그리고 N+1 문제 JPA 페이지네이션 그리고 N+1 문제 해결기 도서 문장 공유 서비스 "스피딧"을 진행하다가 검색어에 따라서 유저 프로필을 조회하는 API(페이징이 적용되어 있었다)를 개발하였다. 이 유저 프로필 조회 API를 개발하다가 JPA N+1 문제가 발생하게 되었고 이에 대한 해결 과정에 대해서 포스팅하고자 한다. JPA N+1문제란? 1번의 조회 쿼리가 나가야 하는데 JPA 엔티티 연관관계 문제로 인해서 N종류의 데이터를 추가로 조회하게 되어서 총 조회 쿼리가 N+1번 나가는 문제를 말한다. JPA N+1 문제 발생 먼저 유저와 관련된 엔티티로는 유저 엔티티, 피드 엔티티, 책 엔티티가 있었다. 다음은 엔티티 간 연관관계이다. 유저 - 피드는 일대다 관계, 피드-책은 다대일 관계이다. 유저 프로필 조회 API.. 2023. 5. 3. 이전 1 다음