@entitygraph1 [JPA] JPA의 N+1 의 문제 원인과 해결 방안 그리고 테스트 1. JPA에서 N+1 문제란?JPA를 사용하다보면 @OneToMany 또는 @ManyToMany 관계가 설명 되어 있는 경우가 있다.이때 관계의 Fetch 전략을 LAZY로 설정 하는 경우에 부모 엔티티를 조회할 때 자식 엔티티는 즉시 로드되지 않으며, 자식 엔티티 접근 시 추가 쿼리가 실행되는 문제가 발생한다. 즉, 특정 엔티티(1)를 조회할때 관련된 엔티티(N)를 추가 조회하는 비효율적인 쿼리가 실행되는 문제를 의미한다.예를 들어, N+1에서 "N"은 부모 엔티티의 개수를 의미한다 라고 생각하면 된다.부모 엔티티의 ID가 [1,2,3,4,5] 5개 가 있고 각각 자식들이 있을때findAll() 메서드를 실행하면 부모 엔티티 5개를 가져오는 쿼리를 1회 실행하고이후 각각 부모들의 ID를 가지고 자식.. 2025. 1. 7. 이전 1 다음