1. 程式人生 > 其它 >jpa遇到的一些問題,排序,分頁,使用

jpa遇到的一些問題,排序,分頁,使用

技術標籤: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