我正在为一个大项目做大量的rnd审计。该项目将完全基于Spring框架,使用JPA和Hibernate来做数据映射部分。对于审计,我遇到了各种功能和技术。使用Hibernate拦截器。使用Hibernate事件侦听器。Hibernate支持Spring AOP。我甚至尝试创建和维护我自己的审计表。
到目前为止,我认为Hibernate Envers是我最好的选择,因为它减少了手动编码,而且它的版本控制特性非常有趣。由于这是一项相对较新的技术,我没有太多的想法,在将其作为解决方案的一部分实现之前,我想要非常确定。
那么,请给我推荐一下哪种技术最适合?Hibernate Envers能够处理复杂的业务场景吗?需要一些专家的建议。
发布于 2013-07-24 05:55:03
Envers将跟踪对实体的每一次更改,并允许您查看完整的历史记录,因为它会创建一个表来存储实体在任何修订时的状态。这个表可以很快变得非常大,这取决于您的实体更改的频率和数量。然而,正如您上面所说的,Envers可能是最简单的解决方案,因为您只需插入几个注释即可完成。
这主要取决于您的应用程序和您想要记录的内容。如果Envers太嘈杂或记录不需要的额外信息,最好编写自己的代码来进行日志记录(或使用触发器)。
https://stackoverflow.com/questions/17706889
复制相似问题