我正在开发一个休眠控制台应用程序并参考这篇文章http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-solution/来设置 P6Spy 以查看是什么Hibernate 生成的 SQL 的“(?)”的实际值。
设置应该可以正常工作,因为我可以在应用程序启动期间看到 P6Spy 输出的信息/调试消息。但是,在那之后,P6Spy 似乎无法拦截任何 JDBC 语句。从hibernate生成的日志(例如:)Hibernate: insert into Module (projectName, moduleName, projectId) values (?, ?, ?)
可以确定JDBC语句已经发送到数据库。
以下是我的设置:
休眠.cfg.xml
- 已指定使用 P6Spy 驱动程序:
<property name="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property>
- 已经打开了 hibernate.show_sql 属性:
<property name="hibernate.show_sql">true</property>
间谍属性
- 已更改为使用我的实际数据库 JDBC 驱动程序,过滤器设置为 false,包含类别已明确设置为记录任何内容。
module.log=com.p6spy.engine.logging.P6LogFactory realdriver=oracle.jdbc.driver.OracleDriver filter=false dateformat=yyyy.MM.dd HH:mm:ss excludecategories= includecategories=error, info, batch, debug,statement,commit,rollback,result appender=com.p6spy.engine.logging.appender.StdoutLogger
我错过了任何重要的设置吗?