1

在 Spring Batch 作业中,我需要在 INSERT 之前编写 DELETE 代码,以避免对现有键的主键违规。

关于这种需求的最佳做法是什么?我应该如何以及在哪里实现这个先决条件删除?

提前谢谢您的建议。:-)

4

2 回答 2

2

我相信您应该在temp table从实际表中删除数据之前将数据插入其中,因为如果删除记录并插入失败怎么办?

数据将丢失或spring transactions用于避免此故障,以防发生意外情况,它会回滚整个事务。

这就像我们为safe file writing.

于 2015-04-08T09:07:38.463 回答
1

使用 tasklet 删除数据。要使 tasklet 工作,您可能必须注入 jdbcTemplate 或类似的东西才能从 tasklet 执行 Db 操作。我还在互联网上重新研究了这个话题,这是我迄今为止得到的最好的解决方案。

于 2015-08-12T08:07:38.650 回答