오늘이군
QueryDSL multiple subselect - (a,b) in (select c,d) 본문
반응형
JPA 를 사용하면서 좀 더 객체지향적으로 좀 더 쉽게 짜야겠다는 고민이 있어..
이런식으로 안짜려고 하고 있지만,
mybatis 쿼리에 익숙한 동료가 물어보던 참에 같이 해결하다 보니 별다른 예제가 없어서 남깁니다.
이런 형태의 쿼리를 수행하고 싶은 경우 JPQL 은 다음과 같이 짭니다.
public List<Product> qLastOrderedProducts() {
JPQLQuery<Product> query = from(qProduct1);
query.where(
Expressions.list(qProduct1.id, qProduct1.salesDt).in(
JPAExpressions
.select(Expressions.list(qProduct2.id, qProduct2.salesDt.max()))
.from (qProduct2)
.where (qProduct2.id.eq(qProduct1.id)
.and (qProduct2.productStatus.eq(ProductStatus.ORDERED))
)
.groupBy(qProduct2.id)
)
);
return query.fetch();
}
private QProduct qProduct1 = QProduct.product;
private QProduct qProduct2 = QProduct.product;
반응형
'삶.. > 프로그래밍' 카테고리의 다른 글
@RequestBody Json 출력필터 적용 - xss (0) | 2020.05.19 |
---|---|
XSS (Cross-site Scripting, 크로스 사이트 스크립팅) 방지 (0) | 2020.05.13 |
MSA (Micro service architecture) vs monolithic (0) | 2019.01.22 |
Java8 꼭 사용해야 하나요? (0) | 2019.01.04 |
오토박싱, 오토언박싱 - auto (un)boxing, 자바 자료형 (0) | 2018.09.10 |
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Comments