spring - Spring Batch - 复合项目编写器,列表作为编写器的输入
问题描述
我需要写入 2 个表头和行表。阅读和处理后,我将结果保存到对象列表中。在编写器中,我需要从列表中获取每个对象并写入 Header 表(一行),获取插入行的主键的 ID,然后在插入期间将此键用作 Line 表的外键。
我在这里有两个问题: 1. 从列表中读取项目编写器中的列表。我使用以下 2 个链接来编写此内容: Spring Batch - Using an ItemWriter with Lists Writing List of Items using JdbcBatchItemWriter
但得到错误:
java.lang.NullPointerException:在 org.springframework.batch.item.database.JdbcBatchItemWriter.write(JdbcBatchItemWriter.java:186) 处为空 ~[spring-batch-infrastructure-4.2.1.RELEASE.jar:4.2.1.RELEASE]
- 如何实现一对多映射。建议的一种解决方案是编写自定义服务方法: Spring Batch - 一次写入 2 个表
从 writer 内部调用另一个服务方法是否正确?
谢谢,BR
解决方案
推荐阅读
- common-lisp - 有没有办法捕捉定义 Common Lisp 包的时刻?
- machine-learning - 如何从智能电表客户的负载曲线中找到峰值数量?
- android - 如何在android中挂钩opengl es以获取draw call的数量?
- latex - 强制 Sphinx 使用 longtable 指令,在长表中正确添加分页符
- javascript - 表单验证检查后不显示模态框
- data-structures - 树中根节点的级别是多少?
- airflow - 如何从环境变量创建气流变量
- react-native - 如何在 react-native 中更新 Tab Navigator 中徽章计数器的状态
- javascript - 如何将一个值返回给调用异步代码的函数,然后而不是下一个?
- azure-devops - Azure DevOps 计划和手动之间的不同行为