Springboot data jpa 多字段排序问题
对于正常排序,我们可以用如下方式:
Sort sort = new Sort(Sort.Direction.DESC, "id");
但是如果我们想根据多条字段排序呢?
比如想根据第一个字段正序,结果再根据第二个字段倒序,结果再根据第三个字段倒序,我们应该怎么写呢?
1.首先导包
import org.springframework.data.domain.Sort.Order;这个包下面的。
2.然后建立三个order
例:
List<Sort.Order> orders = new ArrayList<Sort.Order>();
orders.add(new Sort.Order(Sort.Direction.ASC,"topicsname"));
orders.add(new Sort.Order(Sort.Direction.DESC,"signstate"));
orders.add(new Sort.Order(Sort.Direction.DESC,"id"));
3.最后使用
Sort sort = new Sort(orders);
在方法中使用:
例:
meetTopicsFileDao.findDistinctByPersonid(personId,sort);
*注:*排序字段的添加顺序会影响排序结果,根据需求自己调整顺序即可