【问题标题】:Best Audit trail mechanism for Spring + JPA + Hibernate applicationSpring + JPA + Hibernate 应用程序的最佳审计跟踪机制
【发布时间】:2012-10-10 17:14:40
【问题描述】:

我正在使用 Spring 3.0 + JPA2 + Hibernate 4.1 和 MySQL 5.5 我希望在我的表中记录 5 个字段以用于审计跟踪 - lastModifiedByUser、lastModifiedTime、createdByUser、createdTime、isActive

我没有从表中删除任何数据,只是将它们标记为 isActive false。

什么是帮助我在表格中记录这些审计字段的最佳工具? 我想知道数据库触发器是否不是最好的主意,特别是因为修改/创建用户名也被记录了。

【问题讨论】:

    标签: spring hibernate jpa-2.0


    【解决方案1】:

    查看 Envers,它就是为此而构建的,并且是 Hibernate 4.x 的一部分。您只需向您的类添加一个 @Audited 注释,它就会自动处理您的实体的版本控制。

    【讨论】:

      【解决方案2】:

      不确定最近的工具,但很久以前我可以使用拦截器来做到这一点。

      您可能还想在 Entity 类中映射审计列。在将实体对象持久化到数据库之前,定义一个拦截器在实体对象中填充这些属性。

      在 hibernate 中提供了示例审计拦截器详细信息:Hibernate Interceptors: Audit。请按照步骤完成所需的工作。

      【讨论】:

        猜你喜欢
        • 2016-02-23
        • 2011-05-06
        • 2013-04-10
        • 2018-06-25
        • 2010-10-17
        • 2020-03-23
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多