我有一个要求是按可分页和不可分页进行搜索,
在我的 Java 代码中,我使用 spring data jpa Pageable 类,
Pageable pageable = new PageRequest(
queryForm.getPageNumber()- 1, queryForm.getPageSize(),Sort.Direction.ASC,"id");
Page page = repository.fullTextSearch(queryForm.getText(), pageable);
而且我不想改变回报结构,
那么当不可分页的情况下(搜索所有),如何将 pageSize 值设置为 MAX ?
原文由 Awakening 发布,翻译遵循 CC BY-SA 4.0 许可协议
结合 Spring MVC,您可以使用
PageableDefaults
注释和value = Integer.MAX_VALUE
就像请参阅 PageableDefaults 注释 Javadoc。
在任何其他客户端代码中,您可以将第二个构造函数参数设置为
Integer.MAX_VALUE
:请参阅 PageRequest 构造函数。我假设
queryForm.getPageSize()
是包装器类型而不是原始类型。否则,如果 pageSize 不是由用户设置的(有意用于“搜索所有”请求),您将得到一个零。更新:
从 Spring Data Commons 1.6 开始,您应该使用
PageableDefault
而不是PageableDefaults
请参阅 PageableDefault 注释 Javadoc。