首页 > 解决方案 > 使用 executeUpdate 命令在进程结束时执行提交删除多条记录

问题描述

我正在研究一个平均处理大约 200,000 条记录、汇总金额并将它们添加回同一表上不同后期关键值下的表的过程。然后清理之前的 200,000 条记录。当我尝试为每条记录执行 hibernateSession.delete 时,与使用 hibernateSession.save 插入接近相同数量的记录相比,它的运行速度非常慢。所以我打算使用 executeUpdate() 语句一次性删除它们。虽然这显着减少了删除过程的时间,但现在似乎它会自动提交更改。如果删除后的 hibernate.save 或其他任何内容异常终止,我将丢失数据。

我的问题是我能否以某种方式“延迟”执行更新期间发生的提交。或者以某种方式将它连接到我的 HibernateSession,然后它会在收到指示时提交

谢谢

标签: hibernateexecute

解决方案


当执行带有executeUpdate所有待处理插入/更新的查询时,将刷新这可能是您所说的“提交”?我不明白这是一个问题。只是推迟executeUpdate通话。


推荐阅读