我在Batch中使用JpaPagingItemReader
来修改Readers查询的基础数据。作者将状态设置为COMPLETED
,然后继续处理下一个块。
结果是省略了行。如果要处理100行并且块(和读取器大小)为10,则读取10行并处理它们。通过第二次读取,他然后尝试读取数据的第2页,但在我的情况下使用的查询也会在其where-clause中询问Status。所以记录的数量同时减少到90。现在,Page 2的Reader将从该结果列表中读取11-20行并跳过前10行。
由于JPA没有其他读者我的问题是 - 如果可以操纵Reader类来始终传递前10行。请不要抵消!例如,在处理器或编写器中操作项目Reader的当前页面。或者以不同的方式解决这个问题。
我们不能使用Cursor项目Reader,因为它会使Cursor保持打开状态,导致旧版旧DB2数据库中的锁定情况,我们必须从中读取数据。