您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用sortKeys和参数值的Spring Batch分页

使用sortKeys和参数值的Spring Batch分页

我通过一些密集的调试解决了这个问题。事实证明,MysqLPagingQueryProvidergetSortKeysWithoutAliases()在建立要在第一页和后续页运行的SQL查询时使用了一种方法。因此,它附加and (p.id > :_id)而不是and (p.id > :_p.id)。稍后,当创建第二个页面排序值并将其存储在JdbcPagingItemReader的startAfterValues字段中时,它将使用"p.id"指定的原始String并最终将该对放入命名参数映射中("_p.id",10)。但是,当读者尝试在查询中填写_id时,它不存在,因为读者使用了非别名删除键。

长话短说,在定义排序键时,我必须删除别名引用。

provider.setSortKeys("p.id": Order.ASCENDING)

必须更改为,才能使所有组件正常工作

provider.setSortKeys("id": Order.ASCENDING)

Java 2022/1/1 18:22:42 有556人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶