-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
엔티티 직접 사용 - 묵시적 조인 질문입니다.
20.10.14 10:57 작성 조회수 158
4
[엔티티 직접 사용 - 외래 키 값] 강좌에서 질문이 있습니다.
"select m from Member m where m.team = :team" 에서 앞에서 배운 "경로 표현식"에서 본 경우와 같이 경로 탐색(m.team)을 사용하므로 묵시적으로 m와 t 사이에 조인이 일어날것 같은데 일어나지를 않네요. 그래서 "경로 표현식"에서 한 예제와 어떤 차이가 나는건지 알고 싶습니다.
(* 경로 탐색은 select와 where절에서 사용가능)
감사합니다.
답변을 작성해보세요.
4
김영한
지식공유자2020.10.14
안녕하세요. 민이님
select m.team from Member m -> 묵시적 조인 발생(team 엔티티의 값을 select 해야하기 때문에 묵시적 조인 발생)
select m from Member m. where m.team = :team -> 묵시적 조인 발생X(team 엔티티 자체가 외래키를 가르키기 때문에 묵시적 조인이 발생하지 않습니다.)
엔티티를 직접 사용해서 비교하는 경우에는 묵시적 조인이 발생하지 않는다고 생각하시면 됩니다. 그런데 엔티티를 직접 사용해서 1번 처럼 그 엔티티에 포함된 값이 추가로 필요한 경우에 묵시적 조인이 발생한다고 생각하시면 됩니다.
감사합니다.
1
답변 2