繁体   English   中英

有没有办法确定通过AuditQuery修改了哪些属性?

[英]Is there a way to identify which properties have been modified though the AuditQuery?

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

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();

现在返回的对象列表就是我想要的数据列表,但是我不知道如何确定每个结果中更改了哪些属性。 是否有其他/更好的方法可以让我看到修改了哪些属性? 还是其他人对此有不同的想法?

提前致谢!

Envers中没有内置的diff功能,因此您可以手动比较两个后续版本,也可以添加其他列(标志),这些列将在列值更改或不更改时保存信息。 请参阅手册: http : //docs.jboss.org/hibernate/core/4.3/devguide/en-US/html/ch15.html#envers-tracking-properties-changes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM