728x90
반응형
SpringData에서 사용하는 @PageableDefault는 non-deterministic sort를 발생시킨다.
따라서 사용을 자제하는 것이 좋은 것 같다. 경우에 따라서는 편하거나, 다른 방법이 있을수도 있지만...
용법
public PageRm<XxxRm> getXxxList(
@PageableDefault(size = 25) final Pageable pageable,
@Valid XxxPo xxxPo) {
return something...;
}
현상 및 원인
@PageableDefault를 적용하면 1개 항목에 대해서만 sort를 하도록 되어있기 때문이다.
(아래 사진 및 참조 1)
따라서 10개의 컬럼이 있는 리스트인데, 예를 들어서 name.asc로 정렬을 했다면 name으로 정렬하고 나머지 다른 컬럼들은 어떤 기준으로 정렬해야할지 모르기 때문에 나머지 항목들은 임의로 정렬이 되는 문제가 발생할 수 있다.(non-deterministic sort)
해결방법
Primary한(Unique) key 값으로 추가적으로 orderBy를 추가해주는 방법이 있다.
참조
728x90
반응형
'Programming-[Backend] > Spring' 카테고리의 다른 글
[탐험][자바 스프링 Http 통신하기] 1. URL Connection (0) | 2022.06.01 |
---|---|
[TIL] 스프링 트랜잭션 따로 적용 하기 (REQUIRES_NEW), 클래스 분리 필요 (0) | 2022.05.21 |
[링크][탐험][작성중] WebMvcConfigurer, WebMvcConfigurationSupport, @EnableWebMvc (0) | 2022.03.03 |
[링크] 스프링 AOP 용어 개념 정리 (0) | 2022.02.27 |
[TIL][작성중]RestTemplate 사용하기 (0) | 2022.02.07 |