Java Hibernate在内存中的回滚发生了变化

时间:2012-09-03 09:30:15

标签: hibernate transactions rollback in-memory

我使用Hibernate来保存我的内存数据。有时,由于某些错误,Hibernate拒绝提交对象中的更改,并执行回滚。在那种情况下,我的内存数据变得不一致,我需要它已经回滚。

我的问题是:是否有任何规范/实施可以帮助我跟踪和撤消内存中的更改。在尝试自己编写这段代码之前,我想确定我不打算发明一个轮子。

1 个答案:

答案 0 :(得分:0)

无法回滚内存中的对象。但是正确的数据存在于数据库中,因此您只需要忘记内存中的数据,并从数据库中获取它们的新副本:

  1. 从数据库获取foo
  2. 修改内存中的foo
  3. 尝试提交事务以更新数据库中的foo:exception
  4. 再次从数据库中获取foo