这与这个问题相关:Total row count for pagination using JPA Criteria API。
我不想进行两个单独的查询,一个用于选择计数,另一个用于获取分页结果。 有办法做到吗?
如果您严格只使用条件生成器,您将需要一个单独的查询来获取总数。 如果您确实想避免使用两个数据库查询,您可以使用
findAll()
方法并传入规范和可分页。在您的规范类中,您可以放置您的标准构建器逻辑,在可分页中您可以定义页面大小、页码和排序。
然后您可以将结果投射到对象的页面,即Page<YourObject> myPage
。您只需执行以下操作即可获得结果 myPage.getTotalElements();