如何在spring托管事务中回滚刷新的hibernate对象

时间:2014-05-02 22:09:29

标签: spring-transactions

在spring托管事务中,我使用条件

保存对象
MyObject ob = ...
getCurrentSession.save(ob);

在我需要执行更新(HQL)查询后,在所有更新的行中,我需要更新MyObject引用(ob)。

当我尝试这个时,我得到了“完整性约束,没有父密钥”的例外。

作为我在下面完成的解决方案,

MyObject ob = ...
getCurrentSession.save(ob);
getCurreentSession.flush();

然后执行更新查询并将ref:ob传递给它。

工作正常。但问题是如果更新返回0,我需要回滚我的事务。 注意:我不应该抛出异常。

由于我在春季内部管理下面是我的方法,

1)TransactionInterceptor.currentTransactionStatus()。setRollbackOnly()。这没用。 2)手动删除持久化对象。这很好用。

只是想知道有没有办法回滚我的所有交易?

0 个答案:

没有答案