私は休止状態のコンソール アプリケーションを開発しており、この記事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 ステートメントが既にデータベースに送信されていることを確認できます。
以下は私の設定です:
hibernate.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 driver を使用するように既に変更されており、フィルターは false に設定されており、includecategories は既に明示的に何かをログに記録するように設定されています。
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
重要な設定を見逃していませんか??