【发布时间】:2012-11-11 22:32:10
【问题描述】:
是否可以使用 Hibernate + Spring 对以下内容进行建模。
- 打开会话
- 开始交易
- 做一些工作
- 提交
- 开始交易
- 更多工作
- 提交
- 关闭会话
我使用 Spring TransactionTemplate,它同时执行会话 + 事务生命周期范围。
原因是有时我在业务流程中有几个阶段,我想在每个阶段完成后提交。但是我想继续使用相同的持久对象。如果我每个事务都有一个单独的会话,那么我会收到暂时/分离的异常,因为原始会话已关闭。
这可能吗?
【问题讨论】:
-
您可以在没有事务模板的情况下执行此操作 - 使用 session.flush; session.clear;用 session.refresh(object) 重新加载你的对象
-
session.flush() 不提交任何内容。它只是写入数据库。
标签: java spring hibernate transactions