gpt4 book ai didi

hibernate 环境 : how to get the revision_type information for a given revision and a given entity class

转载 作者:行者123 更新时间:2023-12-04 13:50:30 27 4
gpt4 key购买 nike

我正在使用 Hibernate envers 3.6.3.Final。我可以审核表,我可以看到 _audit 表中填充了 revision_numberrevision_type 和实体数据。 我正在制作一个历史页面,我想在其中显示所有修订条目,以便当用户单击修订 ID 时,我可以显示实体数据以及修订类型,即添加、删除或修改。我正在尝试使用 AuditQuery,但我不确定如何获取给定修订和给定实体类的 revision_type 信息。是否可以在 AuditQuery 中执行?

我可以通过编写 Hibernate 查询来获取“RevisionType”信息。但我想为此重用任何现有的框架 api。换句话说,我将不同的“RevisionType”作为标准传递给 AuditQuery(即针对 DELETE、INSERT 和 UPDATE 的多重查询)并检查我是否得到任何结果,但这不是有效的方法。

最佳答案

现在物有所值。我遇到了同样的问题,并且能够通过使用 AuditQueryCreator#forRevisionsOfEntity 方法获取修订类型,如下所示:

List<Object[]> resultList = auditReader.createQuery()
.forRevisionsOfEntity(entityClass, entityClass.getName(), false, true)
.add(AuditEntity.revisionNumber().eq(revision)).getResultList();

这将返回有关指定修订版的更改数组三元组列表。数组三元组包含实体、实体信息,最后是修订类型。

确保将 AuditQueryCreator#forRevisionsOfEntityselectEntitiesOnly 参数设置为 false。如果设置为 true,该方法将仅返回实体对象列表。

此处使用 Hibernate Envers 4.2.2 版。

关于 hibernate 环境 : how to get the revision_type information for a given revision and a given entity class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12318219/

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