如何获取 Envers 中 ID 列表的给定修订版的状态

How to get the state for a given revision for a list of IDs in Envers

我有一个项目正在使用 Hibernate Envers 来存储审计信息。现在我有一个 ID 列表和一个修订号,我想获取该 ID 列表中给定修订版的实体的信息。

可以吗?

我的研究使我进入了 AuditReader.getQuery(),我可以为其创建查询 forEntitiesAtRevision 等,但我无法将 ID 发送到 select 我想要的实体.

问题是,如果我不能这样做,我将不得不对每个实体进行一个查询,这将导致数千个请求(我有一个包含 1000 个 ID 的列表),或者获取每个实体并查询Java 方面,也可能不太好(我有很多实体)。 因此,我可能决定编写自己的查询,这是我想避免的。

我认为您应该能够使用 AuditEntity.id().in(collectionOfIds) 作为查询的约束条件。