Hibernate Envers—是否是审核的正确选择?

Hibernate Envers—是否是审核的正确选择?,hibernate,hibernate-envers,Hibernate,Hibernate Envers,我正在为一个大项目做大量的审计工作。该项目将完全基于Spring框架,使用JPA和Hibernate来完成数据映射部分。在审计方面,我遇到了各种特性和技术。 使用Hibernate拦截器。 使用Hibernate事件侦听器。 冬眠使者 春季AOP。 我甚至尝试创建和维护自己的审计表 到目前为止,我认为Hibernate Envers是我最好的选择,因为它减少了手动编码,并且它的版本控制特性非常有趣。因为这是一项相对较新的技术,所以我没有太多的想法,我希望在将其作为解决方案的一部分实施之前能够非常

我正在为一个大项目做大量的审计工作。该项目将完全基于Spring框架,使用JPA和Hibernate来完成数据映射部分。在审计方面,我遇到了各种特性和技术。 使用Hibernate拦截器。 使用Hibernate事件侦听器。 冬眠使者 春季AOP。 我甚至尝试创建和维护自己的审计表

到目前为止,我认为Hibernate Envers是我最好的选择,因为它减少了手动编码,并且它的版本控制特性非常有趣。因为这是一项相对较新的技术,所以我没有太多的想法,我希望在将其作为解决方案的一部分实施之前能够非常确定


所以请告诉我哪种技术最适合?Hibernate Envers能够处理复杂的业务场景吗?需要一些专家建议。

Envers将跟踪实体的每一个更改,并允许您查看完整的历史记录,因为它创建了一个表来存储实体在任何修订时的状态。根据实体的变化频率和数量,该表可能会很快变大。然而,正如您上面所说的,Envers可能是最简单的解决方案,因为您只需插入一些注释,就可以完成


这主要取决于您的应用程序和您想要记录的内容。如果Envers太嘈杂或记录了您不需要的额外信息,那么最好编写自己的代码来进行日志记录(或使用触发器)

当前位置我正在Envers做一个小poc。到目前为止,这是我在这项技术中发现的唯一瓶颈。你能把这个问题也讲一遍吗
[链接]