해결된 질문
작성
·
176
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
안녕하세요. if0rever님
쿼리 조건을 보시면 알겠지만, 둘은 다른 쿼리입니다.
첫번째 방법은 연관관계가 전혀 없는 두 테이블(엔티티)을 조인할 때 사용합니다.
두번째 방법은 연관관계가 있는 두 테이블(엔티티)을 조인할 때 사용하고, FK->PK로 조인을 하면서 추가 조건을 필터링 하는 것입니다.
감사합니다.