【发布时间】:2021-08-16 21:56:55
【问题描述】:
我正在编写一个 spring 批处理应用程序,并且有一个输入 csv 文件,该文件具有多行,其中包含唯一的人名和他们的电话号码。在 csv 中,我保证人与电话号码是一对一的关系,但是我想将这些插入到数据库中,其中人与电话之间存在一对多的关系。
我知道如何单独插入每个人,但是在插入电话时,我想获取插入人以创建一对多关系时自动生成的 ID。
除非我编写一个自定义处理器将 http 请求发送到后端或直接访问数据库以创建人员,然后使用编写器创建电话号码条目,否则不确定最好的方法。
【问题讨论】:
-
不完全是,如果我在处理器中使用它可能就是这样做的,但我认为这不是最佳方式。会认为有更好的方法来做到这一点。
-
定义“更好”
-
更少的代码和编写一堆样板代码来连接数据库。认为有一种方法可以像使用基本插入一样使用弹簧批处理,但具有更多逻辑。
-
好吧,您可以简单地使用您的 RDBMS 提供的方法来获取最后一个插入 ID,并将其合并到您的
INPUT语句中。问题是,插入第一个电话号码后,就不再返回人名了
标签: spring spring-batch