(QueryDSL) 조인

조인은 innerJoint(join), leftJoin, rightJoin, fullJoin을 사용할 수 있고
추가로 JPQL의 on과 성능 최적화를 위한 fetch조인도 사용할 수 있다.



조인의 기본문법은 첫 번째 파라미터에 조인 대상을 지정하고, 두 번째 파라미터에 별칭(alias)으로 사용할 쿼리 타입을 지정하면 된다.


join(조인 대상, 별칭으로 사용할 쿼리타입)


예)
QOrder order = QOrder.order;
QMember member = QMember.member;
QOrderItem orderItem = QOrderItem.orderItem;


query.from(order)
.join(order.member, member)
.leftJoin(order.orderItems, orderItem)
.list(order);



query.from(order)
.leftjoin(order.orderItems, orderItem)
on(orderItem.count.gt(2))
.list(order);


<패치조인사용>

query.from(order)
.innerJoin(order.member, member).fetch()
.leftJoin(order.orderItems, orderItem).fetch()
.list(order);



댓글

이 블로그의 인기 게시물

(ElasticSearch) 결과에서 순서 정렬

(네트워크)폴링방식 vs 롱 폴링방식

(18장) WebSocekt과 STOMP를 사용하여 메시징하기