当前位置: 首页 > 知识库问答 >
问题:

Spring-带规格的无计数数据片

魏澄邈
2023-03-14
Slice<MessageViewEntity> messageViewEntities =
                messageViewRepository.findAll(
                        messageViewRepository.withSearchSpecifications(language, categoryId, messageKey, longText),
                        new PageRequest(page, size)
                );

谢谢

共有1个答案

农飞尘
2023-03-14

可以做到的。看这里:https://gist.github.com/tcollins/0ebd1dfa78028ecdef0b

基本上您需要:

  • 扩展SimpleJpaRepository,这样您就可以访问受保护的getQuery(规范..)返回TypedQuery的方法
  • 然后,在类型化查询上,您可以设置偏移量和最大结果(片的大小+1)
  • 然后可以执行TypedQuery.getResultList()&创建切片结果
 类似资料:
  • 我刚开始使用和*对象,我一直在做一个简单的左连接,并将一个值与一个连接的实体属性进行比较。由于我要构建的这个查找/选择函数迟早会非常动态,我决定使用Criteria对象,而不是使用不同的参数构建不同的函数。我的真实实体有更多的属性,但我在这里分解它来简化它。 之前,我试图做我的第一步我有一个仓库函数,这是注释与和工作正常: 后来,我试图建立一个忽略小写和名称的规范,但我仍然无法正确地将name参数

  • 我正在尝试开发一个具有规范和RSQL的搜索API。遵循本教程-https://www.baeldung.com/rest-api-search-language-rsql-fiql

  • 我正在使用查询DSL的Spring数据JPA,并试图在条件中使用求和函数,因为我正在使用分页,所以我必须首先获得计数。所以我有如下的Java代码:- 它创建这样的查询:- 我得到。 上述查询在中也不起作用,因为sum函数不能与count-in-where条件一起使用。当我必须先进行计数,然后再获取真实数据时,我不知道如何处理这样的问题。有人能帮我解决这个问题的方法吗。 请不要建议注释,因为我不能使

  • 设计工具 所有的数据库设计必须采用PowerDesigner 16.5进行设计 设计规范 所有的表、字段,code必须采用英文命名,不允许采用中文拼音或者缩写。表的name必须为中文命名。 所有的表必须包含id(VARCHAR2 128 BYTE)、create_time(DATETIME,自动更新)、last_update_time(DATETIME,自动更新)三个字段

  • 我目前正在从事一个项目,在该项目中,我给出了一个实体,该实体具有一个集合,即订单,因此客户和订单之间存在一种单一关系。假设我想选择具有相应数量的订单实体(在SQL中称为计数)的客户集合的子集:Spring Data JPA提供的查询方法是否已经有了默认实现,以避免使用JPQL编写自定义查询,该查询在一个SQL查询中而不是在n 1个查询中获取客户订单的数量其中n是客户数量?或者可以在某种瞬态字段(例

  • 我试图创建一个spring数据存储库,它使用一个方法列出一页实体和一个QueryDSL谓词,使用以下内容: 正如这里提到的禁用从PageRequest获取总页数的计数查询的方法,我尝试使用“技巧”用“FindAllby”命名方法。 如何在不发出count查询的情况下使用Pageable创建QueryDSL存储库?在最后一页之后执行额外的查询以获取下一页,而不是对每个页面请求发出额外的计数查询,这样