在这里寻找Envers文档 http://docs.jboss.org/envers/docs/index.html#revisions-of-entity
我正在尝试查询更改特定对象属性的修订版(LIST!)。 在文档示例中,您有一个包含id,name,surname和address的人员类。
第5.2段显示如何找到满足某些最大化/最小化条件的特定修订。
我可以找到更改特定类实例的所有修订
auditReader.getRevisions(entityClass, entityName, id);
但这不是一个查询。
我正在尝试做类似的事情(给定entityClass,id和attributeName?):
auditReader.createQuery().forRevisionsOfEntity(entityClass, false, true)
.add(AuditEntity.id().eq(id))
.add(AuditEntity.property(attributeName).ne(AuditEntity.GETPREVIOUS?().property(attributeName)))
换句话说,正如hibernate envers文档,我正在使用一个id(=一个人)搜索所有人修订版,其中只更改了名称(地址可以在中间多次更改)。
我不知道如何直截了当地对查询进行限制,只查看对一个属性的更改,或者如何编写该属性与此对象的先前版本不同。
谢谢
弗朗西斯
答案 0 :(得分:1)
要查询属性更改,您需要在审计实体中包含实体的部分或全部属性的属性更改标记。这是较新版本的Envers的一个功能,存在于Hibernate 4.1中。