我正在使用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);如果有的话,那就太好了--但也许我太愚蠢了,找不到这样的特性。
发布于 2013-02-13 19:56:46
目前只能查询修改了属性的实体,请参见http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#envers-envers-tracking-properties-changes-queries。
获取属性已更改的描述符(变更集)尚不可能。
https://stackoverflow.com/questions/14830956
复制相似问题