일대다 2개 이상 자식 엔티티 페치 조인 MultipleBagFetchException 발생시 (N + 1 문제)


일대다 2개 이상 자식 엔티티 페치 조인 MultipleBagFetchException 발생시 (N + 1 문제)

문제 상황 자식 테이블이 2개 이상은 아니지만 @OneToMany 가 2번 있어서 2개의 페치조인을 해야하는 상황의 예시다. 즉 회원 데이터를 뽑는데 팔로잉 리스트와 팔로워 리스트를 같이 한번에 뽑고 싶었다. 조건문은 제외하고 일단 페치조인이 2개가 되는지 테스트해봤는데 안된다고 저리가라고 했다. (둘 이상의 컬렉션의 페치조인은 불가능하다) (또한 컬렉션을 페치조인시 페이징 API 를 이용할 수 없다) 그러면 페치조인을 사용하지 못하므로 그냥 불러오면 User 조회쿼리 1번 User 의 수만큼 팔로잉 조회 쿼리, 팔로워 조회쿼리가 나간다. (테스트로 회원 5명을 생성하고 조회를 했더니 총 쿼리가 11번 나갔다) 조회된 부모의 수만큼 자식 테..........

일대다 2개 이상 자식 엔티티 페치 조인 MultipleBagFetchException 발생시 (N + 1 문제)에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : 일대다 2개 이상 자식 엔티티 페치 조인 MultipleBagFetchException 발생시 (N + 1 문제)