Spring|Spring MVC @SortDefault多字段排序

在SpringMVC中,我们可以使用@SortDefault@PageableDefault来快速的完成Pageable的默认排序。
我们能查询到的大多数是对某一个字段进行排序:

@PageableDefault(sort = {"weight"}, direction = Sort.Direction.DESC) Pageable pageable @SortDefault(sort = {"weight"}, direction = Sort.Direction.ASC) Pageable pageable

或者对某几个字段进行排序,但排序的规则是相同的(比如均为升序):
@SortDefault(sort = {"weight", "createTime"}, direction = Sort.Direction.ASC) Pageable pageable

如果我们想设置多个排序字段,且各个排序字段的排序方式还不一致,则可以使用如下代码:
public Page page(@SortDefault.SortDefaults({ @SortDefault(sort = {"weight"}, direction = Sort.Direction.ASC), @SortDefault(sort = {"createTime"}, direction = Sort.Direction.DESC)}) Pageable pageable) {

【Spring|Spring MVC @SortDefault多字段排序】此时,上述代码便起到了先按weight进行升序排列,然后再按createTime进行逆序排序。

    推荐阅读