在spring托管事务中,我使用条件
保存对象MyObject ob = ...
getCurrentSession.save(ob);
在我需要执行更新(HQL)查询后,在所有更新的行中,我需要更新MyObject引用(ob)。
当我尝试这个时,我得到了“完整性约束,没有父密钥”的例外。
作为我在下面完成的解决方案,
MyObject ob = ...
getCurrentSession.save(ob);
getCurreentSession.flush();
然后执行更新查询并将ref:ob传递给它。
工作正常。但问题是如果更新返回0,我需要回滚我的事务。 注意:我不应该抛出异常。
由于我在春季内部管理下面是我的方法,
1)TransactionInterceptor.currentTransactionStatus()。setRollbackOnly()。这没用。 2)手动删除持久化对象。这很好用。
只是想知道有没有办法回滚我的所有交易?