Java 是否有方法确定哪些属性已通过AuditQuery修改?

Java 是否有方法确定哪些属性已通过AuditQuery修改?,java,hibernate,spring-mvc,hibernate-envers,Java,Hibernate,Spring Mvc,Hibernate Envers,我有一个名为Contact的对象,我将每个属性标记为@Audited。保存更改按预期工作。我可以看到数据库中的所有数据和更改。我试图做的是访问更改。我想获得一个特定联系人的所有更改,并想查看每个日志中更改了哪些属性。到目前为止,我就在这里 AuditReader reader = AuditReaderFactory.get(entityManager); AuditQuery query = reader.createQuery().forRevisionsOfEntity(Contact.c

我有一个名为
Contact
的对象,我将每个属性标记为
@Audited
。保存更改按预期工作。我可以看到数据库中的所有数据和更改。我试图做的是访问更改。我想获得一个特定
联系人的所有更改,并想查看每个日志中更改了哪些属性。到目前为止,我就在这里

AuditReader reader = AuditReaderFactory.get(entityManager);
AuditQuery query = reader.createQuery().forRevisionsOfEntity(Contact.class, false, true);
query.add(AuditEntity.id().eq(contactId));
List<Object[]> contacts = query.getResultList();
AuditReader=AuditReaderFactory.get(entityManager);
AuditQuery=reader.createQuery().forRevisionsOfEntity(Contact.class,false,true);
add(AuditEntity.id().eq(contactId));
List contacts=query.getResultList();
现在返回的对象列表就是我想要的数据列表,但是我不知道如何识别每个结果中更改了哪些属性。是否有其他/更好的方法可以让我查看哪些属性被修改?或者其他人对如何做到这一点有不同的想法吗


提前谢谢

Envers中没有内置的diff功能,因此您可以手动比较两个后续版本,也可以添加其他列(标志),如果列值更改或未更改,这些列将保存信息;请参阅手册:

是的,看起来唯一的方法是手动操作。谢谢你的帮助