【发布时间】:2015-09-20 05:16:01
【问题描述】:
我在我的应用程序中使用 Hibernate Envers 来跟踪我的实体的所有字段的变化。 我正在使用 @Audited(withModifiedFlag=true) 注释来做到这一点。
记录已正确记录在数据库中,_mod 字段正确指示更改的字段。
我想从某个实体获取特定的修订版本以及哪些字段已更改的信息。我正在使用以下方法来做到这一点:
List<Object[]> results = reader.createQuery()
.forRevisionsOfEntity(this.getDao().getClazz(), false, true)
.add(AuditEntity.id().eq(id))
.getResultList();
此方法返回一个对象数组列表,其中我的实体作为第一个元素。
问题是返回的实体没有关于更改字段的任何信息。 那么,我的问题是:如何获取有关更改字段的信息?
【问题讨论】:
-
这些家伙想要的东西和我完全一样。看起来 envers 默认不给它。我将尝试实施该解决方案,恢复以前的对象并自己设置差异。谢谢!
标签: java audit hibernate-envers