fetch join
-
@EntityGraph 사용법SPRING/JPA 2021. 12. 6. 19:34
EntityGraph는 페치 조인(FETCH JOIN)의 간편 버전이라고 생각하면 됩니다. EntityGraph의 4가지 사용법을 알아보겠습니다. [ 이전 글(페치조인 설명)을 꼭 참고해주세요. ] 저번 시간에 이어 먼저 MemberRepository를 살펴보겠습니다. 첫 번째 방법 27라인을 보시면 엔티티 그래프가 추가 되었습니다. 이전과는 달리 [ @Query("...") 페치 조인을 위한 JPQL쿼리를 ] 짜지 않고 @EntityGraph를 이용하여 페치 조인을 사용할 수 있습니다. 바로 테스트해보겠습니다. 결과 이전 페치조인과 동일한 결과를 얻을 수 있습니다. 두 번째 방법 31라인을 보시면 엔티티 그래프 사용 두 번째가 추가되었습니다. 이번에는 JPQL과 엔티티 그래프를 같이 사용하는 방법입니다..
-
페치조인(fetch Join )이란SPRING/JPA 2021. 12. 3. 02:24
페치(fetch)조인은 SQL에서 사용하는 조인의 종류는 아니고 JPQL에서 성능 최적화를 위해 제공하는 기능입니다. 이것은 연관된 엔티티나 컬렉션을 한 번에 같이 조회하는 기능인데 join fetch 명령어로 사용할 수 있습니다. 페치 조인을 사용해서 회원(Member) 엔티티를 조회하면서 연관된 팀(Team) 엔티티도 함께 조회하는 JPQL을 실행해보겠습니다. 이해를 돕기 위해 회원, 팀 엔티티부터 순서대로 살펴보겠습니다. 23~25 라인을 보시면 Team엔티티와 N:1 관계, 지연 로딩으로 설정되어 있는걸을 확인하실 수 있습니다. (FetchType.LAZY) 23~24 라인을 보시면 Member엔티티와 양방향 매핑으로 되어있다는 것을 확인하실수 있습니다. 다음으로는 MemberRepository를..