@EntityGraph
[배경]
연관관계가 있는 엔티티를 조회했을 때, 지연 로딩(fetch = FetchType.LAZY)으로 설정되어 있으면
연관관계에서 종속된 엔티티는 실제 엔티티 객체가 조회되지 않고 proxy 객체를 만들어 대체되어 조회되며,
종속된 엔티티를 실제로 조회할 때, 실제 해당 엔티티의 select 쿼리가 실행된다.
[문제]
실제로 종속된 엔티티를 모두 조회해야 하는 상황이 확실할 경우, proxy 객체 조회 후 실제 엔티티 객체를 조회하는 것이 불필요한 상황이 될 수 있다.
[해결|개념]
이때 fetch 조인을 사용하여 EAGER와 같이 여러 번의 쿼리를 한 번에 조회할 수 있는데, Data JPA에서 fect 조인을 어노테이션으로 사용할 수 있도록 만들어 준 기능이다.
[속성]
@EntityGraph(attributePaths = "정의한 entity 속성명")
정의한 멤버변수만 EAGER 로 불러오고 나머지는 LAZY 로 불러온다