1. 조인
• 내부 조인:
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
2. 조인 - ON 절
• ON절을 활용한 조인(JPA 2.1부터 지원)
• 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 FROMMember 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
출처 : 김영한, 자바 ORM 표준 JPA 프로그래밍 - 기본편
'JPA' 카테고리의 다른 글
JPQL 타입 표현 (0) | 2022.07.08 |
---|---|
서브 쿼리 (0) | 2022.07.08 |
페이징 API (0) | 2022.07.08 |
프로젝션 (0) | 2022.07.08 |
JPQL(Java Persistence Query Language) (0) | 2022.07.08 |