인프런 커뮤니티 질문&답변

민이님의 프로필 이미지
민이

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

엔티티 직접 사용

엔티티 직접 사용 - 묵시적 조인 질문입니다.

작성

·

226

4

[엔티티 직접 사용 - 외래 키 값] 강좌에서 질문이 있습니다.

"select m from Member m where m.team = :team" 에서 앞에서 배운 "경로 표현식"에서 본 경우와 같이 경로 탐색(m.team)을 사용하므로 묵시적으로 m와 t 사이에 조인이 일어날것 같은데 일어나지를 않네요. 그래서 "경로 표현식"에서 한 예제와 어떤 차이가 나는건지 알고 싶습니다.

(* 경로 탐색은 select와 where절에서 사용가능)

감사합니다.

답변 2

4

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 민이님

select m.team from Member m -> 묵시적 조인 발생(team 엔티티의 값을 select 해야하기 때문에 묵시적 조인 발생)

select m from Member m. where m.team = :team -> 묵시적 조인 발생X(team 엔티티 자체가 외래키를 가르키기 때문에 묵시적 조인이 발생하지 않습니다.)

엔티티를 직접 사용해서 비교하는 경우에는 묵시적 조인이 발생하지 않는다고 생각하시면 됩니다. 그런데 엔티티를 직접 사용해서 1번 처럼 그 엔티티에 포함된 값이 추가로 필요한 경우에 묵시적 조인이 발생한다고 생각하시면 됩니다.

감사합니다.

1

민이님의 프로필 이미지
민이
질문자

감사합니다~

민이님의 프로필 이미지
민이

작성한 질문수

질문하기