SpringBoot JPA sort多属性排序

在开发JPA中,遇见需要对数据进行多属性排序的情况,例如

select * from MldmasView order by vslName ASC,custName ASC,docDate DESC;

导入jar包

import org.springframework.data.domain.Sort.Order;

代码示例

List<Sort.Order> list = new ArrayList<>();
Order order1 = new Order(Direction.ASC, "vslName"); 
Order order2 = new Order(Direction.ASC, "custName");
Order order3 = new Order(Direction.DESC, "docDate");
list.add(order1);
list.add(order2);
list.add(order3);
Sort sort = Sort.by(list);
final List<MldmasView> mldmasViews = this.mldmasViewRepository
    .findAll(sort);

完成对 mldmasViews 的排序

在SpingBoot项目中使用Sort排序时报错

今天在使用Sort排序的时候显示如下报错

‘Sort(org.springframework.data.domain.Sort.Direction, java.util.List<java.lang.String>)' 在‘org.springframework.data.domain.Sort'

中具有 private 访问权限

查了一下说是springboot2.2.1(含)以上的版本Sort已经不能再实例化了,构造方法已经是私有的了!

可以改用Sort.by获得Sort对象

这样就不会报错了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠悠之家。

点赞(111)

评论列表共有 0 条评论

立即
投稿
返回
顶部