인프런 커뮤니티 질문&답변
퀴즈
71%나 틀려요. 한번 도전해보세요!
스프링 데이터 JPA 사용 시 순수 JPA와 비교하여 개발 생산성 측면에서 얻는 주요 이점은 무엇일까요?
모든 쿼리를 수동으로 복잡하게 작성해야 한다
기본 CRUD(저장, 조회 등) 메서드를 인터페이스만으로 자동으로 제공받는다
모든 동적 쿼리 구현이 항상 완전히 자동화된다
데이터베이스 연결 설정을 직접 XML 파일로 관리해야 한다
답변 1
0
안녕하세요. 리어스리님, 공식 서포터즈 코즈위버입니다.
저는 동적으로 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"));
감사합니다.





