작성
·
287
답변 1
0
안녕하세요. 백엔드공부화이팅님
실무에서도 양쪽 모두 동적쿼리를 자주 사용합니다. (물론 본인이 어떤 요구사항에 맞추어 개발하는지에 따라 달라지겠지요? 동적 쿼리의 경우 상황에 따라 다르겠지만 보통은 order 보다는 where를 더 자주 사용합니다.)
orderBy에는 배열을 받도록 되어 있습니다. 값이 없는 경우 빈 배열을 넣어주시면 됩니다.
다음 코드를 참고해주세요.
@Test
void createdByTest() {
JPAQueryFactory query = new JPAQueryFactory(em);
List<Product> result = query
.select(product)
.from(product)
.orderBy(orders())
.fetch();
}
private static OrderSpecifier[] orders() {
List<OrderSpecifier> specs = new ArrayList<>();
//필요한 orderSpecs에 필요한 조건을 추가한다.
specs.add(product.createdBy.desc());
//배열로 반환한다.
return specs.toArray(new OrderSpecifier[specs.size()]);
}
감사합니다.