Hibernate Envers 将数据恢复到一个版本
Posted
技术标签:
【中文标题】Hibernate Envers 将数据恢复到一个版本【英文标题】:Hibernate Envers Revert data to a version 【发布时间】:2011-07-30 16:01:35 【问题描述】:我们正在使用 Hibernate 环境来存储数据的历史修订,因此需要将数据恢复到某个修订。由于我们使用 Version 列来使用乐观锁定方法,当我尝试保存上一个版本的数据时,我得到一个 StaleObjectException
。有什么方法可以强制 Hibernate 存储以前版本的数据?
【问题讨论】:
非常好的问题。你能告诉我们你是怎么做的吗?尝试加载修订然后保存?从修订版复制到实际对象? 我正在尝试使用 javax.persistence.EntityManager 的合并方法加载修订并保存它。 浏览博客。这可能会有所帮助。 encodo.com/en/blogs.php?entry_id=22 【参考方案1】:这是一个很棒的问题。我在 envers 文档中没有找到类似的内容,但我确信这是一个常见问题。作为一种解决方法,您可以在所需的对象修订版上设置属性(例如在构造函数中)
【讨论】:
这是一个痛苦的解决方法,但看起来没有其他选择。以上是关于Hibernate Envers 将数据恢复到一个版本的主要内容,如果未能解决你的问题,请参考以下文章
Hibernate Envers @NotAudited 注解