在我的春季批处理应用程序中,我必须更新两个表(父表和子表),要求是
如果不存在父记录而子记录存在 -插入父记录和子记录 -选择插入记录的主键 -使用父母的主键更新子记录
以上所有操作必须在春季批处理中完成
我使用了CompositeItemWriter。首先触发select语句,如果该语句不可用,则获取序列号并执行父级和子级的合并。
CompositeItemWriter<EPCAddress> compositeItemWriter = new CompositeItemWriter<>();
long sequenceNumber = getAddressSequence();
compositeItemWriter.setDelegates(Arrays.asList(insertParent(jdbcTemplate,sequenceNumber), updateChild(jdbcTemplate,sequenceNumber)));
return compositeItemWriter;
总共有四个独立的作者要写。如何获取插入的父表的主键,以便可以将其传递给子表的更新?是否可以简化此实现?< / p>