2009-03-06 19 views
3

Hibernateで生成された監査ログを生成したいと思います。 EmptyInterceptorを拡張するカスタムインターセプタを作成しました。私はonPrepareStatementメソッドをオーバーライドして、生成されたSQLを取得しました。しかし、私はこのコードをデバッグするとき、私はこのようなパラメータなしでSQLを生成しています。私は休止状態CFGで休止状態Hibernate SQL監査ログ

から、このようなパラメータ値
INSERT INTO TableA(Col1,Col2,Col3) VALUES("Value1","Value2","Value3") 

答えて

2

が含まれている完全なSQL文を取得することができ、これが出力に休止状態の原因となります、trueにhibernate.show_sqlプロパティを設定することがどのように

INSERT INTO TableA(Col1,Col2,Col3) VALUES(?,?,?) 

perparedステートメント(クエリにバインドされたパラメータ値なし)をstdoutに変換します。

プリコンパイルされた文とそれらにバインドされたパラメータのリストをログに記録するには、commons-logging(または基礎となるログシステム)設定でlog4j.logger.org.hibernate.SQL = DEBUGを設定します。

2

私には受け入れられた答えはありませんでした(Postgresバージョン8.3.7-1、ドライババージョン8.1-407)。

私もロギング設定でデバッグするには、「タイプ」オプションを設定する必要がありました:

log4j.logger.org.hibernate.type=DEBUG