1. ホーム
  2. java

[解決済み] Hibernate使用時にパラメータ値を含むクエリ文字列を表示する方法

2022-03-21 19:50:34

質問

Hibernateでは、生成されたSQLクエリをクエスチョンマークではなく実際の値で表示することは可能でしょうか?

Hibernate APIで不可能な場合、実際の値でクエリを印刷するにはどうしたらよいですか?

どのように解決するのですか?

を有効にする必要があります。 ロギング は、以下のカテゴリに対応します。

  • org.hibernate.SQL   - に設定します。 debug すべてのSQL DMLステートメントを実行時にログに記録します。
  • org.hibernate.type - に設定します。 trace すべてのJDBCパラメータをログに記録する

つまり、log4jの設定は次のようになります。

# logs the SQL statements
log4j.logger.org.hibernate.SQL=debug 

# Logs the JDBC parameters passed to a query
log4j.logger.org.hibernate.type=trace 

と同等です。 hibernate.show_sql=true レガシー プロパティ は、2番目の はバインドされたパラメータなどを表示します。

もう一つの解決策(Hibernateベースではない)は、以下のようなJDBCプロキシドライバを使用することです。 P6Spy .