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

박지홍님의 프로필 이미지
박지홍

작성한 질문수

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

조인

연관관계가 있는 조인 실행 시 질문 드립니다.

작성

·

182

0

[질문 내용]
좋은 강의 잘 듣고 있습니다.
 
연관관계가 있는 두 엔터티 간에 inner join 시 먼저 알려주신 방법인 em.createQuery("select m from Member m join Team t on m.team = t.id", Member.class)
 
과, 하이버네이트 5.1 버전 이후의 on 절을 사용한
em.createQuery("select m from Member m  join  m.team t", Member.class)
 
의 차이가 무엇인지 궁금합니다.
 
결과로 나온 쿼리는 괄호 유무만 다르고 동일함을 확인하였는데, 권장하시는 방법과 그 이유를 알고 싶습니다
 
*실무에서 sql 사용 시에 후자의 방식으로 쿼리를 쓰는 것이 익숙하여 한번 실행해 보았는데 실행이 되어서 신기한 마음에 여쭤봅니다.
 
다시한번 좋은 강의 감사 드립니다.

답변 1

0

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

안녕하세요. 박지홍님

해당 내용이 강의에 모두 설명이 되어 있습니다^^

기본적으로는 member m join m.team 과 같은 방식을 사용하시는 것을 권장합니다.

여기에 추가로 강의에서 설명드린 것 처럼

1. 조인 대상을 필터링 하거나

2. 연관관계 없는 엔티티를 외부 조인할 때 on을 사용하시면 됩니다.

감사합니다.

박지홍님의 프로필 이미지
박지홍

작성한 질문수

질문하기