JPA 사실과 오해라는 제목의 영상을 보고 알아두면 좋을 거 같아 내용을 간단하게 정리해봤다.
N+1 문제 해결방법
N+1 문제는 eager fetch 때문에 발생한다고 오해할 수 있는데 이것은 틀린 말이다. lazy fetch의 경우도 참조된 객체를 사용 시점에 호출하기 따문에 N+1 발생한다.
pagination + fetch join -> 결과 자체는 limit이 걸려서 넘어 오지만 실제로는 limit 조회 없이 모든 레코드 조회한다.
둘 이상의 컬렉션을 fetch join - multiple bag fetch exception
쿼리메소드로 join 할 수 있다 -> 언더스코어(_) 사용하여 가능하다.
쿼리메소드