使用触发器进行审计列

时间:2017-12-22 06:14:44

标签: java hibernate orm triggers audit

在我的公司,我是一名java开发人员,我们使用hibernate orm。 由于数据相关的目的,Data Architects希望每个数据库上的每个表都有审计列(CREATE_DATE,CREATED_BY,UPDATE_DATE,UPDATED_BY)。这似乎有点奇怪,因为我们不在我们的应用程序业务中使用这些字段。

对于我们的java应用程序,我想,我们有两个选择:

  • 在每个hibernate dao对象上创建一个包含这些审计字段的基类。
  • 定义表触发器以更新这些列。

我应该选择哪一个?为什么?还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

根据我的理解和经验,第二个选项是2中唯一的好选择。这是因为,如果数据在应用程序外部的表中更新/填充(批处理作业/数据修复等)。 ),然后第一个选项不起作用。

另一种选择是,如果数据更新仅通过PL SQL进行,您的PL SQL团队可以更改该代码以更新代码中的这些列。但是,如果代码很大,这将是很多工作。

总的来说,触发器似乎是最佳选择。