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