728x90
반응형
실무를 하다가 컬럼에 sort를 해야 했는데 궁금점이 생겨서 찾아보고 정리해본다.
id time
1 0700
2 0700
3 0730
4 0730
5 0800
6 0800
7 0900
8 0900
9 1000
10 1000
이런식의 데이터가 있다고 가정해보자.
단일 sort
Sort sort = new Sort(Sort.Direction.ASC, "id")
return jpaRepository.findAll(sort);
다중 sort (id정렬 후 time정렬)
Sort sort = new Sort(Sort.Direction.ASC, "id", "time")
return jpaRepository.findAll(sort);
내가 실무 때 필요했던 sort는 위에 있는 다중 sort에 동일한 order였다.
그러다 문득 다중 sort인데 다른 order를 주려면 어떻게 해야할까 궁금증이 생겨서 찾아보았고 stackoverflow에서 답을 구했다.
time 내림차순 -> 그 다음 id는 오름차순
Sort sort = Sort.by(
Sort.Order.desc("time"),
Sort.Order.asc("id")
);
return jpaRepository.findAll(sort);
결과
id time
9 1000
10 1000
7 0900
8 0900
5 0800
6 0800
3 0730
4 0730
1 0700
2 0700
이렇게 Sort.Order를 사용해서 해결할 수 있다.
반응형
'개발 > 자바' 카테고리의 다른 글
자바 String 클래스 / StringBuffer, StringBuilder / split()메소드 / StringTokenizer 클래스 (0) | 2021.02.02 |
---|---|
자바 Wrapper 클래스 / 박싱(Boxing), 언박싱(Unboxing) / 오토박싱, 오토언박싱 / 문자열 파싱(parse) (0) | 2021.02.02 |
자바 API - Object 클래스 // toString, equals, hashCode, clone, finalize (0) | 2021.01.28 |
자바 추상클래스, 추상메소드 / 인터페이스 (0) | 2021.01.27 |
자바 상속, Inheritance / 오버라이딩, Overriding / super / final / 다형성 / for each 구문 (0) | 2021.01.25 |
댓글