【问题标题】:Hibernate Envers-A correct choice for auditing or not?Hibernate Envers——审计的正确选择?
【发布时间】:2013-07-17 17:56:59
【问题描述】:

我正在做很多 rnd 来为一个大项目进行审计。该项目将完全基于 Spring 框架,使用 JPA 和 Hibernate 来完成数据映射部分。对于审计,我遇到了各种功能和技术。 使用 Hibernate 拦截器。 使用休眠事件侦听器。 休眠环境 弹簧 AOP。 我什至尝试创建和维护自己的 AUDIT 表。

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

所以请建议我哪种技术最适合? Hibernate Envers 能否应对复杂的业务场景?需要一些专家建议。

【问题讨论】:

    标签: hibernate hibernate-envers


    【解决方案1】:

    Envers 将跟踪您的实体的每一次更改,并允许您查看完整的历史记录,因为它会创建一个表格来存储您的实体在任何修订时的状态。该表可能会很快变得非常大,具体取决于您的实体更改的频率和数量。但是,就像您上面所说的,Envers 可能是最简单的解决方案,因为您只需添加一些注释即可完成。

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

    【讨论】:

    • :我在 Envers 做一个小型 poc。到目前为止,这是我在这项技术中发现的唯一瓶颈。你能不能也解决一下这个问题。
      [链接]stackoverflow.com/questions/17781057/…
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2015-12-14
    • 2021-12-20
    • 2011-07-10
    • 2018-04-18
    • 2018-09-19
    • 2013-06-03
    • 2015-08-20
    相关资源
    最近更新 更多