반응형
Sort란
Sort 클래스는 스프링에서 정렬을 위한 정보를 담고 있습니다.
Sort.Order 객체는 정렬 방향과 정렬할 타겟에 대한 정보를 가지고 있습니다.
Order 클래스는 Sort 클래스 내부에 있는 내부 클래스입니다.
Sort 객체 생성
Sort 클래스를 여러 정렬 조건을 정의할 수 있습니다.
Sort.by()를 통해 정렬 방향과 속성을 정의합니다.
Sort sort = Sort.by(Sort.Order.asc("name"), Sort.Order.desc("age"));
Order 클래스
- property : 정렬할 필드 이름
- direction : 정렬 방향
Sort.Order 접근
Sort 객체 내의 정렬 조건과 정렬 대상 속성을 확인하기 위해서는 Sort 객체를 Stream으로 순회하거나 forEach를 사용해 접근할 수 있습니다.
방법 1
Sort sort = Sort.by(Sort.Order.asc("name"), Sort.Order.desc("age"));
sort.forEach(order -> {
System.out.println("Property: " + order.getProperty());
System.out.println("Direction: " + order.getDirection());
});
getProperty() : 정렬할 필드의 이름을 반환합니다.
getDirection() : 정렬 방향을 반환합니다.
방법 2
List<Sort.Order> orders = sort.stream()
.map(order -> new Sort.Order(order.getDirection(), order.getProperty()))
.collect(Collectors.toList());
반응형