首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >春季数据JPA.从Pageable获取所有页面

春季数据JPA.从Pageable获取所有页面
EN

Stack Overflow用户
提问于 2018-03-20 12:55:07
回答 2查看 6.7K关注 0票数 5

我有一个SpringBoot应用程序和一个从CrudRepository扩展的接口

代码语言:javascript
复制
@Query("select cps from HotelPriceSummary cps where cps.price > 5 and cps.profilePercentage >= 70 ")
List<HotelPriceSummary> findMine(Pageable pageable);

我想知道是否可以从对象Pageable中获得总页面数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-20 13:12:09

您可以使用返回总元素的Page<T>接口。

getTotalElements() 返回元素的总数。

您可以在文档中找到更多内容:页面PageImpl

在您的示例中,它应该是这样工作的:

代码语言:javascript
复制
@Query("select cps from HotelPriceSummary cps where cps.price > 5 and cps.profilePercentage >= 70 ")
Page<HotelPriceSummary> findMine(Pageable pageable);
票数 4
EN

Stack Overflow用户

发布于 2018-03-20 13:17:12

您应该从PagingAndSortingRepository而不是CrudRepository扩展您的存储库。然后,方法查询应该是:

代码语言:javascript
复制
@Query("select cps from HotelPriceSummary cps where cps.price > 5 and cps.profilePercentage >= 70 ")
Page<HotelPriceSummary> findMine(Pageable pageable);

之后,您可以在响应中使用来自服务(或任何您想要的)的查询,然后使用getTotalPages()。示例:

代码语言:javascript
复制
int page = 0, pageSize = 10;    
Page<HostelPriceSummary> response = myRepo.findMine(PageRequest.of(page, pageSize));
int numberOfPages =  response.getTotalPages();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49384795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档