1

我正在为执行插入/更新/删除记录的用户 ID 登录的 Web 应用程序执行审计跟踪。

插入/更新触发器没有问题。但是,对于删除触发器,数据库将不知道执行删除的“用户 ID”。

我正在使用带有连接池的 oracle 数据库和 jdbc。

如何将“用户 ID”传递给删除触发器?

4

2 回答 2

2

看看Audit4j。它支持对应用程序审计的开箱即用支持。

于 2015-03-12T15:10:19.773 回答
1

你在使用 JPA 吗?如果是这样,您使用的是 EclipseLink 吗?如果是这样,这可以在没有触发器的情况下完成吗?

如果您对所有三个答案的回答都是肯定的,我有没有为您提供答案。看看EclipseLink 的历史表功能。我过去曾成功地使用它来实施审计跟踪。

否则,通过设置状态列来考虑“软删除”。您只需将行状态设置为禁用,而不是从数据库中物理删除行。在您的 Select 查询中,只需添加“and where status != disabled”。

于 2013-04-17T14:11:19.810 回答