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

twosom님의 프로필 이미지

작성한 질문수

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

조인

jpql 질문있습니다!

해결된 질문

21.02.07 22:06 작성

·

157

1

항상 강의 잘 보고있습니다!

문득 보다가 궁금한 것이 생겼는데요

쿼리에서

select m from Member m join Team t on m.username = t.name이랑

select m from Member m join m.team t on m.username =t.name이랑

완전히 같나요?

join Team t 는 

inner join

            Team team1_ 

                on (

                    member0_.username=team1_.name

                )

이렇게 나오는데

join m.team t는 

inner join

            Team team1_ 

                on member0_.TEAM_ID=team1_.TEAM_ID 

                and (

                    member0_.username=team1_.name

                )

이렇게 나오는거 같아서요. 

뭔가 m.team t가 조건이 하나 더 걸린 느낌이랄까요...

답변 1

2

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

2021. 02. 07. 22:08

안녕하세요. if0rever님

쿼리 조건을 보시면 알겠지만, 둘은 다른 쿼리입니다.

첫번째 방법은 연관관계가 전혀 없는 두 테이블(엔티티)을 조인할 때 사용합니다.

두번째 방법은 연관관계가 있는 두 테이블(엔티티)을 조인할 때 사용하고, FK->PK로 조인을 하면서 추가 조건을 필터링 하는 것입니다.

감사합니다.

twosom님의 프로필 이미지

작성한 질문수

질문하기