所以我试图拦截对数据库的调用。现在我有一个java程序,它监听通知(由各种程序调用)。我正在尝试扩展它以分析其中一个程序对使用Hibernate ORM的数据库进行的查询。
我正在看Hibernate Interceptor,这看起来很有趣。我如何将Interceptor集成到我的程序中?我不知道如何使用它来连接其他程序来监听电话。或者听众会是一个更好的选择吗?
谢谢,哈利
答案 0 :(得分:3)
您可能正在寻找代理JDBC驱动程序。这些包装了一个普通的JDBC驱动程序并记录正在发生的事情。
一个例子是log4jdbc,我确信还有其他人。
关于这些的好处是您不需要更改程序,只需更改它使用的JDBC驱动程序的名称。
答案 1 :(得分:2)
要在程序中集成Hibernate拦截器,您必须执行以下步骤:
创建一个扩展hibernate的EmptyInterceptor的类。
实施与您的要求相关的方法。
将其设置为配置,如
配置cfg = new Configuration();
cfg.setInterceptor(new YourInterceptor());