2011-04-06 60 views
13

我们使用Hibernate envers来存储数据的历史修订版本,因此需要将数据恢复到某个修订版本。由于我们使用Version列来使用乐观锁定方法,所以当我尝试保存以前版本的数据时,我得到StaleObjectException。有没有办法强制Hibernate存储以前版本的数据?Hibernate Envers将数据还原为版本

+0

非常好的问题。你能告诉我们你是怎么做的吗?试图加载修订,然后保存它?从版本复制到实际的对象? – 2011-04-06 09:54:04

+0

我想加载修订并使用javax.persistence.EntityManager的合并方法保存它。 – Rakesh 2011-04-06 10:45:53

+0

浏览博客。这可能有帮助。 http://encodo.com/en/blogs.php?entry_id=22 – 2011-09-07 08:13:57

回答

2

这是一个很棒的问题。我在envers文档中没有找到类似的东西,但我确定这是一个常见问题。作为一种解决方法,您可以在所需的对象版本上设置属性(例如,在构造函数中)

+1

这是一个痛苦的解决方法,但看起来没有其他选择。 – Rakesh 2011-04-07 17:41:56