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
'JPA' 카테고리의 다른 글
변경 감지(dirty check)와 병합(merge) (0) | 2022.02.14 |
---|---|
(Querydsl) ON 절을 활용한 조인 (0) | 2022.02.14 |
Q클래스 인스턴스 사용 방법 두가지 (0) | 2022.02.14 |
JPAQueryFactory를 필드에서 제공하자(feat. 동시성 문제는 스프링이 해결) (0) | 2022.02.14 |
JPQL과 QueryDSL의 차이 (0) | 2022.02.14 |