//공통 메서드 오버라이드
@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 |