我正在尝试使用休眠批量插入从文件中插入每 100 条记录。如果我将逻辑包装在事务中,它是否会按预期工作,例如,假设我正在从 300 条记录中创建 3 批并将逻辑包装在里面一个事务,如果第三批有问题,那么事务是否会回滚第一批和第二批。
问问题
1223 次
2 回答
2
始终将您的批次包装在事务中。如果您为每个事务批处理 100 个插入,那么如果一切正常,则将提交所有 100 个插入。我还建议您使用无状态会话来加快批量插入。我强烈推荐你阅读 Hibernate 文档的批处理教程。
于 2013-06-18T02:05:44.430 回答
0
简而言之:它将按预期工作。
Hibernate 没有限制每个批量插入都需要在单独的事务中。如果您在一个事务中执行多个批量插入,它们将作为一个整体提交/回滚。
(当然,如果您有嵌套事务或在事务中使用里程碑,那就另当别论了。)
于 2013-06-18T08:05:22.303 回答