hibernate - 使用 executeUpdate 命令在进程结束时执行提交删除多条记录
问题描述
我正在研究一个平均处理大约 200,000 条记录、汇总金额并将它们添加回同一表上不同后期关键值下的表的过程。然后清理之前的 200,000 条记录。当我尝试为每条记录执行 hibernateSession.delete 时,与使用 hibernateSession.save 插入接近相同数量的记录相比,它的运行速度非常慢。所以我打算使用 executeUpdate() 语句一次性删除它们。虽然这显着减少了删除过程的时间,但现在似乎它会自动提交更改。如果删除后的 hibernate.save 或其他任何内容异常终止,我将丢失数据。
我的问题是我能否以某种方式“延迟”执行更新期间发生的提交。或者以某种方式将它连接到我的 HibernateSession,然后它会在收到指示时提交
谢谢
解决方案
当执行带有executeUpdate
所有待处理插入/更新的查询时,将刷新这可能是您所说的“提交”?我不明白这是一个问题。只是推迟executeUpdate
通话。
推荐阅读
- php - 拒绝文件夹权限时如何显示自定义ErrorDocument?
- conditional-statements - Tableau - 条件逻辑错误字符错误
- android - 使用 Codemagic 构建到没有 Mac 的 iOS
- kotlin - 将音频频谱作为 libGDX 中的纹理传递给着色器
- java - 问题的解决方案超时:从中序和后序构建二叉树
- java - 为图像添加标签 SWT Java
- internationalization - 如何让WSO2 EI碳UI支持中文
- c# - 如何使用 Net Topology Suite 在 Entity Framework Core 中将点(地理)缓冲 1 米
- php - 返回所有整数除数或返回字符串 '(integer) is prime' 如果它是素数的函数
- javascript - 当 0 为 false ReactJS 时如何设置此输入值