如何一次获取 100 条记录,直到使用 Spring JPA 的 oracle 中的所有记录?

Posted

技术标签:

【中文标题】如何一次获取 100 条记录,直到使用 Spring JPA 的 oracle 中的所有记录?【英文标题】:How to fetch 100 records at a time until all the records in oracle using Spring JPA? 【发布时间】:2019-02-10 21:02:43 【问题描述】:

我想从 Oracle 读取 100 条记录并对这些数据进行一些操作,然后我需要执行相同的操作,直到从数据库中获取所有记录。

使用技术: 弹簧靴 春季 JPA 甲骨文

【问题讨论】:

只搜索“分页”。请注意,这些操作不是原子操作,即在每次批量提取之间可能会发生一些creates、inserts、updates 和/或deletes。您可以在此过程中锁定整个数据库,但这意味着同时无法执行其他数据库操作。 docs.spring.io/spring-data/jpa/docs/current/reference/html/… 谢谢,但我正在寻找哪些不应该锁定/中断其他数据库操作。 【参考方案1】:

我使用的分页如下:

@Repository
public interface SomethingRepository extends PaginationAndSortingRepository<Something, Long> 
    @Query("Select s from  Something s "
            + "join s.somethingelse as se "
            + "where se.id = :somethingelseid ")
    Page<Something> findBySomethingElseId(@Param("somethingelseid") long somethingelseid,
                                                                        Pageable pageable);

【讨论】:

以上是关于如何一次获取 100 条记录,直到使用 Spring JPA 的 oracle 中的所有记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何在循环中使用 curl PHP 100 次? [关闭]

请教大虾们,反复执行同一个游标(cursor),每次从表中取出1000条,直到将表中的数据取完;

Java更新100条记录在一定时间后需要很长时间

核心数据和分页

如何获取具有相同app_id列但不同手机号码列的下一条记录

SQL如何显示查询结果的前100条?