使用触发器进行审计列

问题描述 投票:-2回答:1

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

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

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

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

java hibernate orm triggers audit
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.