【发布时间】:2016-11-04 17:08:00
【问题描述】:
我正在使用 envers 来审核 User 类,并将所有修改后的数据保存在 DB 中,并带有 rev 号。现在,我需要通过将修订号作为参数来恢复所有已编辑的实体名称、旧值和新值。
我已阅读 envers 文档,但找不到任何解决方案。
有人可以推荐吗?谢谢
【问题讨论】:
标签: hibernate hibernate-envers
我正在使用 envers 来审核 User 类,并将所有修改后的数据保存在 DB 中,并带有 rev 号。现在,我需要通过将修订号作为参数来恢复所有已编辑的实体名称、旧值和新值。
我已阅读 envers 文档,但找不到任何解决方案。
有人可以推荐吗?谢谢
【问题讨论】:
标签: hibernate hibernate-envers
修订号唯一标识实体的版本,因此在获取特定修订版的实体时,您会得到它当时的值。
要获取字段的新旧值,如果您知道实体在修订版N 已更改,最简单的方法是获取修订版N-1 和N 的实体并比较您所在的字段有兴趣。
这可以使用forRevisonsOfEntity 查询在单个查询中完成(请参阅AuditReader 和AuditQueryCreator javadocs)
【讨论】: