Spring/QueryDSL
조인 - on절
개복이
2021. 6. 5. 04:05
조인 - on절
- on절을 활용한 조인
- 조인 대상 필터링
- 연관관계 없는 엔티티 외부 조인
1. 조인 대상 필터링
참고 : on절을 활용해 조인 대상을 필터링할 때, 외부조인이 아니라 내부조인(inner join)을 사용하면,
where절에서 필터링 하는 것과 기능이 동일하다. 따라서 on절을 활용한 조인 대상 필터링을 사용할 때,
내부조인이면 익숙한 where절로 해결하고, 정말 외부조인이 필요한 경우에만 이 기능을 사용하자.
2. 연관관계가 없는 엔티티 외부 조인
- 주의! 문법을 잘 봐야 한다. leftJoin() 부분에 일반 조인과 다르게 엔티티 하나만 들어간다.
- 일반조인 : leftJoin(member.team, team) -> member.id = team.id
- on조인 : from(member).leftJoin(team).on(XXX) -> PK와 FK가 물리지 않고 on절만 물린다.
Reference
- 자바 ORM 표준 JPA 프로그래밍
- QueryDSL