jpa遇到的一些問題,排序,分頁,使用
阿新 • • 發佈:2021-01-13
技術標籤:springbootjavajpa
The constructor Sort(List<Sort.Order>) is not visible
以前的方法改了,這裡發一下新版
老:
Sort sort = new Sort(Sort.Direction.DESC,"id");//單個排序
//多個排序
System.out.println("通過建立Sort.Order物件的集合建立sort物件");
List<Sort.Order> orders = new ArrayList<>();
orders. add(new Sort.Order(Sort.Direction.DESC,"id"));
orders.add(new Sort.Order(Sort.Direction.ASC,"firstName"));
List<Customer> result3 = repository.findByName4("Bauer",new Sort(orders));
老版本都是用new,新版本直接改用靜態方法。
新:
Sort sort = Sort.by(Direction.ASC, "CREATE_DATE" );
List<Sort.Order> orders = new ArrayList<>();
orders.add(new Sort.Order(Sort.Direction.DESC, "id"));
orders.add(new Sort.Order(Sort.Direction.ASC, "firstName"));
Sort sort = Sort.by(orders);
查詢條件
Example<T> example = Example.of(entity);
jpa分頁查詢 -排序
public Page<T> getPageListJPA(PageVO page, T entity) {
Sort sort = Sort.by(Direction.ASC, "CREATE_DATE");
Pageable pageable = PageRequest.of(page.getCurrentPage(), page.getPageSize(), sort);
// 條件未經過測試,使用者自測一下
Example<T> example = Example.of(entity);
return jpa.findAll(example, pageable);
}
jpa查詢單個物件
/*
* getOne 返回一個實體的引用,無結果會丟擲異常;
*
* findById 返回一個Optional物件;
*
* findOne 返回一個Optional物件,可以實現動態查詢;
*
*/
return jpa.findById(id).get();
springboot版本
2.4.1