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