如何解决Hibernate envers + hibernate-search :通过 Lucene/Elasticsearhc 索引读取审计信息
我在应用程序中使用 hibernate-envers 进行审计。我还使用 hibernate-search 来搜索/读取应用程序中 JPA 实体的信息。
我想知道是否有任何类型的配置/集成可以使 hibernate-envers 与审计实体/表一起工作,也可以通过索引,以便使用 hibernate-search 从索引中读取该信息。
我想避免“手动”执行此操作,例如,使用 envers 事件侦听器为审计实体手动创建/操作新索引,使用新的 JPA 实体对审计实体信息进行建模,包括 @Indexed 注释,字段等)。
理想情况下,想知道是否支持开箱即用的 envers/search 集成,无需自定义开发,以实现将所有审计信息存储在新的 _aud 索引中。
提前致谢,感谢您的任何建议。
解决方法
这当然不可能开箱即用。
如果有可能,您将无法从 Envers 的所有功能中受益,例如“在此修订版中为我获取此实体”。您只需将每个实体的所有修订编入索引,并且您将只能查询(和检索)这些修订。这将是诸如“获取 ID 为 1
的实体的所有修订,其中 name
包含 "some text"
。
此外,这不会消除对审计表的需要。索引将存在于审计表之外。
话虽如此,我只是尝试了一下,我们可以在 Hibernate Search 6 中通过一些更改使其成为可能。如果您仍然感兴趣,可以在那里查看:https://hibernate.atlassian.net/browse/HSEARCH-4238
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。