ホームページ >データベース >mysql チュートリアル >Hibernate でパラメータ値を含む SQL クエリをログに記録するにはどうすればよいですか?

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

Barbara Streisand
Barbara Streisandオリジナル
2025-01-22 22:36:14879ブラウズ

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

Hibernate SQL クエリとパラメータの監視

Hibernate アプリケーションをデバッグするには、多くの場合、生成された SQL クエリ (パラメーター値を含む) を検査する必要があります。 標準の Hibernate ログでは、実際の値ではなくプレースホルダーの疑問符のみが表示されます。 この記事では、これらの値を明らかにする方法について詳しく説明します。

Hibernate の組み込みログの活用

Hibernate は、詳細なクエリを視覚化するために 2 つのログ カテゴリを提供します。

  • org.hibernate.SQL (デバッグ レベル): 実行されたすべての SQL データ操作言語 (DML) ステートメントを表示します。
  • org.hibernate.type (トレース レベル): 各クエリで使用されるすべての JDBC パラメーターを公開します。

このログ機能を有効にするには、log4j 構成ファイルに次の行を追加します。

<code># Displays SQL statements
log4j.logger.org.hibernate.SQL=debug

# Displays JDBC parameters
log4j.logger.org.hibernate.type=trace</code>

代替: JDBC プロキシ ドライバーの使用

Hibernate のネイティブ ロギングの代替手段を好む人には、P6Spy などの JDBC プロキシ ドライバーが堅牢なソリューションを提供します。このドライバーは JDBC 呼び出しをインターセプトして変更し、包括的な分析のためのクエリの実行前ビューを提供します。

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

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