ホームページ >データベース >mysql チュートリアル >Hibernate SQL クエリの実際のパラメータ値を確認するにはどうすればよいですか?

Hibernate SQL クエリの実際のパラメータ値を確認するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-22 22:25:13876ブラウズ

How Can I See the Real Parameter Values in My Hibernate SQL Queries?

Hibernate SQL クエリパラメータ値の表示方法

Hibernate でクエリを実行する場合、データベースに渡される実際のパラメータ値を確認すると便利なことがよくあります。

Hibernate は実際のパラメータ値を直接表示できますか?

残念ながら、Hibernate 自体には、実際のパラメータ値を含む SQL クエリを直接出力するメカニズムがありません。 SQL ステートメント内の疑問符はプレースホルダー パラメーターを表しており、Hibernate はそれらを実際のパラメーター値に自動的に置き換えません。

代替ログ記録

パラメータ値を含む実際の SQL クエリ文字列を確認するには、特定の Hibernate クラスのログ記録を有効にします。

  • org.hibernate.SQL: 実行されたすべての SQL DML ステートメントをログに記録するには、「debug」に設定します。
  • org.hibernate.type: すべての JDBC パラメーターをログに記録するには、「trace」に設定します。

次の log4j 構成は、このアプローチを示しています。

<code>log4j.logger.org.hibernate.SQL=debug

# 记录传递给查询的JDBC参数
log4j.logger.org.hibernate.type=trace</code>

このメソッドは、古い hibernate.show_sql=true 属性に似ています。 org.hibernate.type ログを有効にすると、バインディング パラメータを含むより多くの情報がログに記録されることに注意してください。

外部プロキシ ドライバー

もう 1 つの方法は、P6Spy などの JDBC プロキシ ドライバーを使用することです。 P6Spy は JDBC 呼び出しをインターセプトし、データベースに送信された実際の SQL クエリとパラメーター値を検査できるようにします。

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

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