조금 지난 내용이지만 프로젝트를 진행하면서 겪었던 문제를 팀원분이 알려주셔서 정리하려한다.
N+1 문제
연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n) 만큼
연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽음.
jpql로 해결
@Query(value = "select c from Cart c join fetch c.product p where c.user = :user")
List<Cart> findAllFetchByUser(User user);