通过修订获取修改的属性

时间:2013-02-12 11:00:02

标签: hibernate hibernate-envers auditing

我正在使用Hibernate Envers审核我的实体和属性(org.hibernate.envers.global_with_modified_flag=true)。这似乎有效,但现在我想得到一个特定实体的所有属性,与前一个相比,它在给定的修订版本中发生了变化。作为奖励,将变更集从一个修订版转换到另一个修订版会很好。到目前为止,我只获得修改后的实体:

List<Object> modifiedClassesAtRevision = getAuditReader().getCrossTypeRevisionChangesReader().findEntities(revision, RevisionType.MOD)
Object modifiedObject = modifiedClassesAtRevision.get(0);

现在,由于我不想为Java中的所有实体创建比较方法,有没有办法获得此修订版的修改属性?

的内容
List<String> modifiedProperties = getAuditReader().getModifiedProperties(modifiedObject, revision);

会很高兴 - 但也许我太愚蠢而无法找到那种功能。

1 个答案:

答案 0 :(得分:3)

目前,只能查询属性被修改的实体,请参阅http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#envers-envers-tracking-properties-changes-queries

无法获取更改了属性的描述符(变更集)。