Java 如何一次提取500行,直到从表中提取所有项为止?

Java 如何一次提取500行,直到从表中提取所有项为止?,java,spring,jpa,java-8,spring-data-jpa,Java,Spring,Jpa,Java 8,Spring Data Jpa,我有一张超过10000行的桌子。我在JPA中使用Spring,我想做一个“批处理”作业,在这个作业中,我可以一次获取500行,直到没有更多的行可以从表中获取?我有一个repository类,它扩展了JpaRepository。 我是春天的新手,如果有人能帮助我,我将不胜感激 谢谢:)你应该试试这样的东西: public interface SchoolAdminRepository extends PagingAndSortingRepository< SchoolAdmin, Long&

我有一张超过10000行的桌子。我在JPA中使用Spring,我想做一个“批处理”作业,在这个作业中,我可以一次获取500行,直到没有更多的行可以从表中获取?我有一个repository类,它扩展了
JpaRepository
。 我是春天的新手,如果有人能帮助我,我将不胜感激


谢谢:)

你应该试试这样的东西:

public interface SchoolAdminRepository extends PagingAndSortingRepository< SchoolAdmin, Long> {
    List<SchoolAdmin> findAll(Pageable pageable);
}

但是我怎么知道接下来的500行从哪里开始呢?我怎么知道还有多少人?我想一次提取500个,直到全部提取。
pageNumber
将告诉您下一步从哪里开始(取决于页面大小)。但我是否需要扩展
PaginationAndSortingRepository
?也许您使用的是旧版本。选中此项:或者您可以将静态的
PageRequest::of
替换为构造函数
新的PageRequest(页码,500)
List<SchoolAdmin> page = repository.findAll(PageRequest.of(pageNumber, 500));