Spring Boot中的可分页[重复]

Posted

技术标签:

【中文标题】Spring Boot中的可分页[重复]【英文标题】:Pageable in Spring boot [duplicate] 【发布时间】:2020-11-29 12:11:05 【问题描述】:

我想将“ownDemand”作为需求页面返回。我该怎么做呢

@Override
public Page<Demand> getDemandbyId(Long id, Pageable pageable) 
   Iterable<Demand> alldemand = demandRepository.findAll(); 
   List<Demand> ownDemand = new ArrayList<Demand>();
   for (Demand demand : alldemand) 
       if(demand.getStore().getId()==id) 
           ownDemand.add(demand);
       
  
    return null;
 
 

需求库

@RestResource
public interface DemandRepository extends JpaRepository<Demand,Long> 

【问题讨论】:

请添加您的DemandRepository 和实体类,如Demand。您可以使用可分页方法调用 findAll @User-Upvotedon'tsayThanks,但我不想返回 findAll 我想要返回具有 id 的商店的要求,当我实例化 Page = new Page() 和其他方法(排序号页面....)我不知道如何 不要,请不要。当您有大量 Demand 实例(内存、性能)时,这将导致问题。只需为它编写一个适当的查询(方法)。 Page&lt;Demand&gt; findAllByStoreId(Long storeId, Pageable page) 之类的东西;它将准确返回您需要的内容,并使用数据库的强大功能,而不是提取内存中的所有内容并进行分页和过滤。 【参考方案1】:

为什么不像这样向你的 DemandRepository 添加一个方法

Page<Demand> findAllByStore(Store store, Pageable page)

当然,这假定 StoreEntity 与 Demand 相关。

【讨论】:

【参考方案2】:

试试下面:

demandRepository.findAll(PageRequest.of(0, 2))

通过签名返回页面。根据您的需要更改 PageRequest。

【讨论】:

但是我不想返回 findAll 我想要返回具有 id 的商店的需求,因为我实例化 Page = new Page() 和其他方法(排序编号页面 ....)我不知道如何 检查这个。 ***.com/questions/37749559/… 看起来您的问题与此重复。

以上是关于Spring Boot中的可分页[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Kendo Grid,如何更改 Angular 中的可分页文本(页数、项目数)?

如何更改剃刀中剑道网格的可分页消息?

markdown Laravel的可分页Collection实现

使用连接表存储库的@manytomany 中的 Spring 数据 jpa 规范和可分页

带有可分页的 Spring 自定义查询

带有 Spring Boot 的 Spring Data JPA 中的多个数据源,[重复]