-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
동적 order by..
24.04.29 09:11 작성 조회수 52
0
쿼리dsl로 동적인 order by 정렬 처리하는거는 강의에서 안보여주시나요?...ㅠㅠ
답변을 작성해보세요.
0
codesweaver
2024.04.29
안녕하세요. 리어스리님, 공식 서포터즈 코즈위버입니다.
저는 동적으로 order by를 처리 하기 위해 OrderSpecifier 를 활용했었습니다.
대략 아래와 같은 함수를 만들어 OrderSpecifier<?>를 반환받고 이를 쿼리의 orderBy()의 파라미터로 전달합니다.
public OrderSpecifier<?> orderByExample(String attributeName, String sort) {
PathBuilder orderPath = new PathBuilder(order.getType(), order.getMetadata());
if (sort.equals("ASC")) {
return orderPath.getNumber(attributeName, Integer.class).asc();
}
return orderPath.getNumber(attributeName, Integer.class).desc();
}
....
query.orderBy(orderByExample("ID", "DESC"));
감사합니다.
답변 1