JPA
queryDsl 기본 조인에 대해
쿠카이든
2022. 2. 14. 12:19
728x90
- (querydsl) 조인 - 기본 조인
- 조인의 기본 문법은 첫 번째 파라미터에 조인 대상을 지정하고, 두 번째 파라미터에 별칭(alias)으로 사용할 Q 타입을 지정합니다.
- join(조인 대상, 별칭으로 사용할 Q타입)
- 예제
/**
* 팀 A에 소속된 모든 회원 조회
*/
@Test
public void join() throws Exception {
QMember member = QMember.member;
QTeam team = QTeam.team;
List<Member> result = queryFactory
.selectFrom(member)
.join(member.team, team)
.where(team.name.eq("teamA"))
.fetch();
assertThat(result)
.extracting("username")
.containsExactly("member1", "member2");
}
- join() , innerJoin() : 내부 조인(inner join)
- leftJoin() : left 외부 조인(left outer join)
- rightJoin() : rigth 외부 조인(rigth outer join)
- JPQL의 on 과 성능 최적화를 위한 fetch 조인 제공합니다.
- 즉시로딩으로 Member, Team SQL 쿼리 조인으로 한번에 조회
- 사용 방법 - join(), leftJoin() 등 조인 기능 뒤에 fetchJoin() 이라고 추가
- 예) .join(member.team, team).fetchJoin()
728x90