SpringBoot JPA sort多属性排序实例

SpringBoot JPA sort多属性排序

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

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

导入jar包

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

代码示例

List 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 mldmasViews = this.mldmasViewRepository
    .findAll(sort);

完成对 mldmasViews 的排序

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

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

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

中具有 private 访问权限

SpringBoot JPA sort多属性排序实例_第1张图片

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

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

SpringBoot JPA sort多属性排序实例_第2张图片

这样就不会报错了

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

你可能感兴趣的