-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
중첩된 fetch join
20.02.06 23:36 작성 조회수 319
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 조인이 가능한가요 ?
안된다면 이런경우를 어떻게 해결하는지 문의 드립니다.
감사합니다.
답변을 작성해보세요.
0
김영한
지식공유자2020.02.09
기본적으로 EntityGraph는 JPA가 제공하는 것인데, 스프링 데이터 JPA에서 이것을 편리하게 사용하게 도와줍니다. EntityGraph는 하나이상의 하위 fetch join이 가능합니다.
그런데 하나 이상의 하위레벌이 들어가면 이미 조인쿼리가 너무 복잡해지기 때문에 최적화가 어려울 수 있습니다. 따라서 @EntityGraph를 쓰기 보다는 명시적으로 fetch join을 사용하는 것을 권장합니다.
0
0
0
김영한
지식공유자2020.02.07
네 가능합니다!
다음처럼 하면 됩니다^^
from A a
join fetch a.b b
join fetch b.c c
활용 2편에 이 내용을 매우 자세히 다루고 있으니 참고해주세요^^
답변 4