fetch join

🌻 JAVA/자바 ORM 표준 JPA 프로그래밍

JPA - Fetch Join이 과연 만능인가? (N+1, Pagination)

들어가기 전 이전 시간에 알아봤던 N+1 해결법에 이어서 FetchJoin을 이용해서 해결할 수 있었습니다. 하지만 Fetch Join이라고 다 해결할 수 있는 것은 아닙니다. 이번 시간에는 Fetch Join을 사용했을 때 어떠한 사이드 이펙트가 있는지 알아보고 그 해결책에 대해서 알아봅니다. 1. FetchJoin, EntityGraph 사용 시 Pagination을 사용할 수 없다. FetchJoin과 EntityGraph 둘 다 동일한 증상이 발생합니다. Fetch Join만 테스트를 해보겠습니다. @Query( value = "select t from Team t join fetch t.members", countQuery = "select count(t) from Team t" ) List f..

🌻 JAVA/자바 ORM 표준 JPA 프로그래밍

[JPA] N+1 문제와 해결 (feat. fetch join, EntityGraph)

💡 아래 실습에 진행한 모든 코드는 Github에 있습니다. JPA N+1이란? 실무에서 JPA를 사용하다보면, N+1 쿼리를 만나게 됩니다. 여기서 N+1이란 Team(1) ↔ Member(N) 연관관계가 있다고 가정했을 때, 하나의 팀을 조회했지만 팀 내부에 있는 모든 멤버들이 함께 조회되면서 1+N 개의 쿼리가 발생하는 것을 의미합니다. 직접 테스트 코드를 통해 이러한 상황들을 해결할 수 있는 방법들을 살펴보고 각 상황이 또 어떤 사이드이펙트가 있는지도 알아보겠습니다. Entity 및 Repository 코드 실습에 사용될 코드는 다음과 같습니다. @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Membe..

iseunghan
'fetch join' 태그의 글 목록