簡體   English   中英

使用JPA進行Spring Boot分頁

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM