Mik*_*e Q 12 java spring hibernate transactions
是否可以使用Hibernate + Spring对以下内容进行建模.
我使用Spring TransactionTemplate来执行会话+事务生命周期范围.
原因是有时我在业务流程中有几个阶段,我想在每个阶段完成后提交.但是我想继续使用相同的持久对象.如果我每个事务都有一个单独的会话,那么我会得到瞬态/分离异常,因为原始会话已关闭.
这可能吗?
是的,Hibernate的会话可以开始并提交多个事务.你需要做的是在某个地方存储开放会话,然后重复使用它.注意,Session不是一个线程安全的对象,但是如果你确定它不会出现并发问题,那么你需要的只是TransactionSynchronizationUtils用来将一个会话绑定到线程资源然后在需要时取消绑定它,你可以在这里找到一个例子,或者你可以看看OSIV及其标准实现.
这是一个非常复杂的事情,它更容易,因此您希望立即关闭会话并且不重复使用它,因为它可能会带来麻烦:
| 归档时间: |
|
| 查看次数: |
14681 次 |
| 最近记录: |