지난 포스팅에 이어 Querydsl
의 기본 문법에 대해서 알아보자.
👉 전체적인 내용은 다음과 같다.
1) 검색 조건 쿼리
2) 결과 조회
3) 정렬
4) 페이징
5) 집합
6) 상수, 문자 더하기
7) 조인 - 기본 조인
8) 조인 - on 절
9) 조인 - 페치 조언
10) 서브 쿼리
11) Case 문
이번 포스팅에서는 7) ~ 11)
에 대해서 학습한다.
첫 번째 파라미터에 조인 대상을 지정
하고, 두 번째 파라미터에 별칭(alias)으로 사용할 Q타입을 지정
하면 된다.join()
, innerJoin()
: 내부 조인(inner join)leftJoin()
: left 외부 조인(left outer join)rightJoin()
: rigth 외부 조인(rigth outer join)ON절을 활용한 조인은 다음과 같은 두 가지 경우에서 주로 사용한다.
on 을 사용해서 서로 관계가 없는 필드로 외부 조인하는 기능이 추가
되었다. 물론 내부 조인도 가능하다.leftJoin()
부분에 일반 조인과 다르게 엔티티 하나만 들어간다.leftJoin(member.team, team)
from(member).leftJoin(team).on(xxx)
Member
를 조회할 때, Member
안에 연관된 Team
엔티티도 같이 한 쿼리로 조회해서 넣어둠com.querydsl.jpa.JPAExpressions
사용memberSub
)JPAExpressions
를 static import
해서 사용할 수 있다.From 절의 서브쿼리 한계
From 절의 서브쿼리 한계 해결방안
select
, 조건절(where)
, order by
에서 사용 가능.
CaseBuilder
사용 )강의를 듣고 정리한 글입니다. 코드와 그림 등의 출처는 김영한 강사님께 있습니다.