【问题标题】:Better approach to maintain audit of few entities对少数实体进行审计的更好方法
【发布时间】:2012-10-15 12:34:31
【问题描述】:

我有一个具有以下结构的 Hibernate 实体:

@Entity
public class A
{
  private Integer id;
  private String name;
  @OneToMany
  private List<B> bList;
}

@Entity
public class B
{
  private Integer id;
  @OneToMany
  private List<C> cList;
}

现在我想维护实体“A”的历史记录,信息如下:

historyDate | fieldsChanged | updatedBy | createdBy

fieldsChanged 列中,我想要实体 A 的列名称以及实体 B 或 C 中是否应用了任何更改。

现在我用谷歌搜索并找到以下几种方法来实现这些:

  1. DB 上的写入器触发器
  2. 自己的 Java 逻辑来维护历史表
  3. 使用 Hibernate Envers

现在我不确定从上面或其他什么方法应该是更好的方法。

任何建议将不胜感激......

【问题讨论】:

    标签: java audit hibernate-envers


    【解决方案1】:

    Envers 使用不同的审计方案 - 为每次更改存储实体的完整内容。答案真的取决于你需要什么。

    1. 如果可以直接从各种系统访问数据库,使用各种语言编写,那么
    2. 是正确的选择。
    3. 如果你需要有你写的结构是最好的
    4. 为您提供审核,但格式不同。

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 2012-08-10
      • 2015-12-14
      • 2019-10-18
      • 1970-01-01
      相关资源
      最近更新 更多