BE전문가 프로젝트

Join 본문

JPA

Join

원호보고서 2022. 11. 6. 22:36

내부 조인

 - 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 절

on절을 활용한 조인(JPA 2.1 부터 지원)

1. 조인 대상 필터링

2. 연관관계 없는 엔티티 외부조인(하이버네이트 5.1  부터)

 

1. 조인 대상 필터링

예) 회원과 팀을 조인하면서, 팀 이름이 A인 팀만 조인

  • JPQL
SELECT m, t FROM Member m LEFT JOIN m.team t on t.name = 'A'
  • SQL로 보내지는 SQL문
SELECT m.*, t.*
FROM Member m LEFT JOION Team t ON m.TEAM_ID = t.id and t.name = 'A'

2. 연관관계 없는 엔티티 외부조인(하이버네이트 5.1  부터)

예) 회원의 이름과 팀의 이름이 같은 대상 외부 조인

  • JPQL
SELECT m, t FROM Member m LEFT JOIN Team t on m.username = t.name
  • SQL로 보내지는 SQL문
SELECT m.*, t.* FROM Member m LEFT JOIN Team t on m.username = t.name

'JPA' 카테고리의 다른 글

JPQL 타입 표현  (0) 2022.11.07
서브쿼리  (0) 2022.11.07
페이징 API  (0) 2022.11.06
프로젝션  (0) 2022.11.06
JPQL(Java Persistence Query Language)  (0) 2022.11.06
Comments