본문 바로가기
반응형

fetch join2

Spring Data JPA - 데이터 뻥튀기 (일대다 관계 조인) "N + 1 문제 ②편"에서 N + 1 문제 해결 방법으로 Fetch Join을 사용해야 한다고 정리했었는데요. 정리를 하면서 "컬렉션 페치 조인, 일대다 관계인 @OneToMany로 연관관계를 가지는 Entity를 조회할 때 데이터 뻥튀기가 일어난다."라고 말씀드렸습니다. 그래서 오늘은 fetch join에 대해 자세히 알아보고 데이터 뻥튀기를 해결해보도록 하겠습니다. 먼저 페치 조인의 특징, 일반 조인과의 차이점을 알아보고, [일대다 관계 조인, 컬렉션 페치 조인]에 대해서 알아보도록 하겠습니다. 페치 조인의 특징 SQL 조인 종류 X JPQL에서 성능 최적화를 위해 제공하는 기능 연관된 엔티티나 컬렉션을 SQL 한 번에 함께 조회하는 기능 일반 조인과의 차이점 일반 조인 실행 시 연관된 엔티티를 함.. 2022. 3. 7.
Spring Data JPA - N + 1 문제 ② 해결 방법 안녕하세요, 오늘은 이전에 알아보았던 N + 1 문제의 해결 방법에 대해서 정리하려고 합니다. 이전 글(N + 1 문제에 대한 설명)을 확인하고 싶으시면 아래 글을 참조해주시길 바랍니다. 2021.11.29 - [Spring Data JPA] - Spring Data JPA - N + 1 문제 ① 프로젝트 버전 [①편에서 사용한 프로젝트에 이어서 진행할 예정입니다.] 개발 도구: IntelliJ Ultimate Spring Boot: 2.5.7 Java 11 h2 Database Spring Data JPA 의존성 추가 [build.gradle] JUnit 5 ①편에서 작성한 코드처럼 하나의 쿼리를 위해 부수적인 쿼리가 실행되는 것은 말도 안 되고, 애플리케이션에 불필요한 부하를 일으키게 됩니다. 그래서.. 2021. 12. 2.
반응형