gpt4 book ai didi

java - 有没有办法通过 AuditQuery 识别哪些属性已被修改?

转载 作者:太空宇宙 更新时间:2023-11-04 14:00:19 26 4
gpt4 key购买 nike

我有一个名为 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();

现在返回的对象列表是我想要的数据列表,但是我不知道如何识别每个结果中哪些属性已更改。是否有不同/更好的方法可以让我看到哪些属性被修改?或者其他人对如何做到这一点有不同的想法吗?

提前致谢!

最佳答案

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

关于java - 有没有办法通过 AuditQuery 识别哪些属性已被修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29357263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com