조인
- 객체 끼리 조인을 통해 조인 쿼리문을 사용할 수 있다.
• 내부 조인
SELECT m FROM Member m [INNER] JOIN m.team t
• 외부 조인
SELECT m FROM Member m LEFT [OUTER] JOIN m.team t
• 세타 조인
select count(m) from Member m, Team t where m.username = t.name
조인 - ON 절
1. 조인 대상 필터링
• 예) 회원과 팀을 조인하면서, 팀 이름이 A인 팀만 조인
JPQL
SELECT m, t FROM Member m LEFT JOIN m.team t on t.name = 'A'
SQL
SELECT m.*, t.*
FROM Member m
LEFT JOIN Team t ON m.TEAM_ID=t.id and t.name='A'
2. 연관관계 없는 엔티티 외부 조인(하이버네이트 5.1부터)
JPQL
SELECT m, t FROM Member m LEFT JOIN m.team t on t.name = 'A'SELECT m, t
FROM Member m
LEFT JOIN Team t on m.username = t.name
SQL
SELECT m.*, t.*
FROM Member m
LEFT JOIN Team t ON m.username = t.name
'JAVA > JPA' 카테고리의 다른 글
@OneToOne 관계에서 지연로딩(LAZY)이 안되는 문제 (0) | 2022.09.18 |
---|---|
(JPA) fetch join (0) | 2021.08.12 |
(JPA) 페이징 (0) | 2021.07.09 |
(JPA) 프로젝션 (0) | 2021.07.08 |
(JPA) JPQL (0) | 2021.07.08 |