使用触发器进行审计列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用触发器进行审计列相关的知识,希望对你有一定的参考价值。
在我的公司,我是一名java开发人员,我们使用hibernate orm。由于数据相关的目的,Data Architects希望每个数据库上的每个表都有审计列(CREATE_DATE,CREATED_BY,UPDATE_DATE,UPDATED_BY)。这看起来有点奇怪,因为我们在应用程序业务中不使用这些字段。
对于我们的java应用程序,我想,我们有两个选择:
- 在每个hibernate dao对象上创建具有这些审计字段的基类。
- 定义表触发器以更新这些列。
我应该选择哪一个?为什么?还有其他建议吗?
答案
根据我的理解和经验,第二个选项是2中唯一的好选择。这是因为,如果数据在应用程序外部的表中更新/填充(批处理作业/数据修复等),那么第一个选项不起作用。
另一个选择是,如果数据更新仅通过PL SQL进行,您的PL SQL团队可以更改该代码以更新代码中的这些列。但是,如果代码很大,这将是很多工作。
总的来说,触发器似乎是最好的选择。
以上是关于使用触发器进行审计列的主要内容,如果未能解决你的问题,请参考以下文章