Published 2022. 7. 21. 15:07
//공통 메서드 오버라이드
@Override
@EntityGraph(attributePaths = {"team"})
List<Member> findAll();
//JPQL + 엔티티 그래프
@EntityGraph(attributePaths = {"team"})
@Query("select m from Member m")
List<Member> findMemberEntityGraph();
//메서드 이름으로 쿼리에서 특히 편리하다.
@EntityGraph(attributePaths = {"team"})
List<Member> findByUsername(String username)

 

EntityGraph 정리
사실상 페치 조인(FETCH JOIN)의 간편 버전
LEFT OUTER JOIN 사용

 

 

NamedEntityGraph 사용 방법

@NamedEntityGraph(name = "Member.all", attributeNodes =
@NamedAttributeNode("team"))
@Entity
public class Member {}

 

@EntityGraph("Member.all")
@Query("select m from Member m")
List<Member> findMemberEntityGraph();

 

 

 

 

출처 : 김영한 JPA 스프링 데이터 강의

 

 

'JPA > JPA-Spring Data' 카테고리의 다른 글

사용자 정의 리포지토리 구현  (0) 2022.07.21
JPA Hint & Lock  (0) 2022.07.21
벌크성 수정 쿼리  (0) 2022.07.21
스프링 데이터 JPA 페이징과 정렬  (0) 2022.07.20
순수 JPA 페이징과 정렬  (0) 2022.07.20
복사했습니다!