Spring Data JPA的Pageable对象,实现对已查询出list的分页

本文介绍了Spring Data JPA的Pageable对象通常用于数据库查询分页,但不能直接对已查询出的list进行分页。作者指出在实际开发中,由于复杂业务需求,可能需要对查询结果进行过滤,导致Pageable的分页功能失效。文章引用了Spring Data JPA作者的观点,强调Pageable仅适用于查询方法的分页。为解决此问题,作者建议手动处理数据并提供了示例代码,展示如何对 ucShopCourseBizPojoList 这样的list进行分页处理。
摘要由CSDN通过智能技术生成

Pageable对象

      使用Spring Data JPA的Pageable对象可以进行数据库的查询分页,这个实现已经有很多博客介绍过了,就不再列举了,可参考链接:https://www.tianmaying.com/tutorial/spring-jpa-page-sort 等。

      但是有一种情况就是,pageable无法对已查询出数据的list结果进行分页,这在实际开发中几乎不可避免,很多复杂业务,出于简化开发或者考虑实际的原因,不可能通过一个sql查询实现需求,肯定会对查询出的list数据进行过滤,而这时pageable对象的分页功能则失效了,参考代码:

  List<Impianto> impiantos = myService.findMyMethod(); // returned 30 objects 
    Page<Impianto> pageImpianto = new PageImpl<Impianto>(impiantos, pageable, impiantos.size());

这种实现,是无法实现分页的。

根据spring data jpa作者的说法:

    Spring Data repositories support pagination on query methods by simply declaring a parameter of type Pageable to make sure they're only reading the data necessary for the requested

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值