Hibernate envers + hibernate-search :读取 Lucene/Elasticsearhc 索引的审计信息

Hibernate envers + hibernate-search : Reading audit information over Lucene/Elasticsearhc indexes

我在应用程序中使用 hibernate-envers 进行审计。我还使用 hibernate-search 来 search/read 应用程序中 JPA 实体的信息。

我想知道是否有任何类型的 configuration/integration 可以使 hibernate-envers 与审计 enties/tables 一起工作,也可以通过索引,以便使用 hibernate -search 读取来自索引。

我想避免“手动”执行此操作,例如,使用 envers 事件侦听器以便 create/manipulate 为审计实体手动创建新索引,使用新的 JPA 实体对审计实体信息进行建模包括@Indexed注解、字段等)。

理想情况下想知道是否支持 envers/search 开箱即用的集成,无需自定义开发,以实现将所有审计信息存储在新的 _aud 索引中。

提前致谢,如有任何建议,我们将不胜感激。

当然不可能开箱即用。

即使有可能,您也不会受益于 Envers 的所有功能,例如“在这个版本中给我这个实体”。您将简单地索引每个实体的所有修订,并且您将只能查询(和检索)这些修订。这将是诸如“获取 ID 为 1 的实体的所有修订,其中 name 包含 "some text"

此外,这不会消除对审计表的需要。除了审计表 之外,索引将存在

话虽这么说,我只是试了一下,我们可以在 Hibernate Search 6 中通过一些更改使其成为可能。如果你还有兴趣,可以去看看:https://hibernate.atlassian.net/browse/HSEARCH-4238