[英]Pagination with spring boot usiing jpa
如何實現使用JpaRepository而不是PagingAndSortingRepository返回對象頁面的方法?
我的資料庫
public interface GroupRepository extends JpaRepository<Group, Long> {
@Query(value = "SELECT g FROM Group")
Page<Group> listAllByPage(Pageable pageable);
}
我的服務實現:
@Override
public
Page<Group> findGroupesByPagination(Pageable pageable) {
return groupeRepository.listAllByPage(pageable);
}
我的休息控制器方法:
@RequestMapping(value="/groups", method = RequestMethod.GET)
public @ResponseBody Page<Group> list( Pageable pageable){
Page<Group> groupes = groupeServiceImpl.findGroupesByPagination(pageable);
return groupes;
}
最后我得到了這個錯誤:
創建名稱為'groupServiceImpl'的bean時出錯:通過字段'groupeRepository'表示的不滿意的依賴關系; 嵌套的異常是org.springframework.beans.factory.BeanCreationException:創建名稱為'groupRepository'的bean時出錯:調用init方法失敗; 嵌套異常是java.lang.IllegalArgumentException:方法公共抽象org.springframework.data.domain.Page rimtrack.org.repository.GroupRepository.listAllByPage(org.springframework.data.domain.Pageable)的查詢驗證失敗!
該查詢可以通過某處的注釋定義,也可以通過其他方式聲明。 請查閱特定商店的文檔以找到該商店的可用選項。 如果存儲庫基礎結構在引導時找不到該方法的聲明查詢,則它將失敗。
您應該使用Spring Data Jpa方法。 參考
Page<T> findAll(Pageable pageable);
請更改存儲庫類。
考試:
public interface GroupRepository extends JpaRepository<Group, Long> {
Page<Group> findAlll(Pageable pageable);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.