ホームページ >Java >&#&チュートリアル >Hibernate でパラメータ値を含む SQL クエリを出力するにはどうすればよいですか?

Hibernate でパラメータ値を含む SQL クエリを出力するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-03 16:18:39280ブラウズ

How Can I Print SQL Queries with Parameter Values in Hibernate?

Hibernate でパラメータ値を含む SQL クエリを出力する

概要:

Hibernate を使用する場合、出力すると便利です。生成されているクエリと実際のパラメータ値を出力します。これは、デバッグの目的や、特定のクエリのパフォーマンス特性を理解するのに役立ちます。

Hibernate API では可能ですか?

はい、可能です。 Hibernate API を使用してパラメータ値を含むクエリを出力します。これを行うには、次のカテゴリのログを有効にする必要があります:

  • org.hibernate.SQL: 実行時にすべての SQL DML ステートメントをログに記録するようにデバッグに設定します。
  • org .hibernate.type: すべての 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) は、従来の log4j.logger と同等です。 .org.hibernate.SQL=debug、2 番目のオプションはバインドされたパラメータを他のパラメータとともに出力します。

代替の非 Hibernate ソリューション:

パラメーター値を含むクエリを出力するために Hibernate API を使用したくない場合は、次のような JDBC プロキシ ドライバーを使用できます。 P6スパイ。このドライバーはアプリケーションとデータベースの間のプロキシとして機能し、それを通過するすべての JDBC ステートメントとパラメーターをログに記録します。

以上がHibernate でパラメータ値を含む SQL クエリを出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。