如何使用分页和spring数据jpa获取findAll()服务的所有记录?

Adi*_*pta 7 java spring spring-data-jpa

如何findAll ()使用分页获取所有服务记录,Spring Data JPA 当我们不应用过滤器时,它应该返回所有记录,而不是按页面显示。我有findAll (Pageable pageable)服务,并从自定义存储库调用它。是否可以仅使用分页来将所有记录放在一页中?

xen*_*ros 5

public interface UserRepository extends PagingAndSortingRepository<User, Long> {
    //Page<User> findAll(Pageable pageable); is already in this repository.
}
Run Code Online (Sandbox Code Playgroud)

因此,以防万一您想找到大小为20的首页,请尝试:

Page<User> users = repository.findAll(new PageRequest(0, 20));
Run Code Online (Sandbox Code Playgroud)

如果您要做的是将所有实体都放在一个页面上,这没有多大意义,但是可以分两个步骤完成:

int count = repository.count();
Page<User> users = repository.findAll(new PageRequest(0, count));
Run Code Online (Sandbox Code Playgroud)

count()CrudRepository扩展PagingAndSortingRepository