【问题标题】:ADF Audit loggingADF 审核日志记录
【发布时间】:2016-03-23 11:27:35
【问题描述】:

我们正在开发 ADF 应用程序,我们遇到了这样的要求,即我们必须将用户执行的所有操作记录到数据库中,就像所有 DML 操作(插入、更新、删除)一样,这可以通过以下方式实现覆盖实体 impl 类的 doDML 方法,但现在还有一个要求是我们必须在用户查询记录时记录事件,即 DQL。

我可以知道查询记录时调用的是哪个实体 impl 方法吗? 或者当用户在 ADF 中查询记录时,还有其他方法可以执行审计日志记录吗?

谢谢

【问题讨论】:

  • 大家好,感谢您的回复。我尝试使用 executeQueryForCollection() 方法,它运行良好,但问题是该方法在回滚事件中被多次调用。有什么解决办法吗?

标签: java oracle-adf audit-logging


【解决方案1】:

您可以使用此方法拦截查询:

protected void bindParametersForCollection(QueryCollection qc,
                                           java.lang.Object[] params,
                                           java.sql.PreparedStatement stmt)
                                    throws java.sql.SQLException

请查看幻灯片 10,但如果您运行 JDev 12c,请使用此方法而不是 executeQueryForCollection()

【讨论】:

  • 嗨弗洛林,不应该是 executeQueryForCollection 方法吗?如果没有,请告诉我们一些使用 bindParametersForCollection 的参考。谢谢!
  • 我可以知道如何使用它吗?还有它如何在数据库中记录查询事件?
  • @Sid executeQueryForCollection 生命周期在 12c 中已更改,有时会在不触发数据库查询的情况下调用该方法。
猜你喜欢
  • 2011-03-18
  • 2010-12-23
  • 2019-12-01
  • 1970-01-01
  • 2013-02-28
  • 1970-01-01
  • 2011-09-19
  • 1970-01-01
  • 2018-04-14
相关资源
最近更新 更多