使用JPA规范指定结果限制

Squ*_*eez 4 java jpa spring-data-jpa

是否有可能使用limitsetMaxResults使用Spring-Data-JPA规范?我可以通过Criteria或使用它JPQL,但我只需要通过规格.规格有CriteriaQuery,而不是Query.所以,没有setMaxResults方法.

Cle*_*lha 11

我想你只有两个选择:

在您的规范中使用Pageable:

Pageable limit = new PageRequest(0,10);
repo.findAll(spec, limit);
Run Code Online (Sandbox Code Playgroud)

或者做一个像这样的解决方法:https://gist.github.com/tcollins/0ebd1dfa78028ecdef0b.@tcollins的所有学分

  • PageRequest有一个带Sort的构造函数.你可以使用它. (2认同)
  • 请注意,这仍然会从数据库查询总计数:[How to disable count when Specific and Pageable are using Together?](/sf/ask/1871673961/ -和可分页一起使用) (2认同)