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<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 的排序

在Sping Boot項目中使用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對象

在這裡插入圖片描述

這樣就不會報錯瞭

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: