Written on
·
520
0
안녕하세요
fetch 조인 문의가 있습니다.
class A {
@ManyToOne
private B b;
@ManyToOne
private D d;
}
class B {
@ManyToOne
private C c;
}
class C {
...
}
class D {
...
}
A클래스를 조회하면서 관련된 연관관계인 B, C, D 를 모두 한번에 fetch 조인이 가능한가요 ?
안된다면 이런경우를 어떻게 해결하는지 문의 드립니다.
감사합니다.
Answer 4
0
기본적으로 EntityGraph는 JPA가 제공하는 것인데, 스프링 데이터 JPA에서 이것을 편리하게 사용하게 도와줍니다. EntityGraph는 하나이상의 하위 fetch join이 가능합니다.
그런데 하나 이상의 하위레벌이 들어가면 이미 조인쿼리가 너무 복잡해지기 때문에 최적화가 어려울 수 있습니다. 따라서 @EntityGraph를 쓰기 보다는 명시적으로 fetch join을 사용하는 것을 권장합니다.
0
0
0
네 가능합니다!
다음처럼 하면 됩니다^^
from A a
join fetch a.b b
join fetch b.c c
활용 2편에 이 내용을 매우 자세히 다루고 있으니 참고해주세요^^