Hibernate を使用する場合、特にデバッグやパフォーマンスの最適化を行う場合、実行される SQL クエリを表示すると便利なことがよくあります。ただし、デフォルトでは、Hibernate はクエリ パラメータの実際の値の代わりにプレースホルダ (疑問符) を使用して SQL ステートメントをログに記録します。
実際の値を含むクエリを出力する必要がある場合は、次のカテゴリのログを設定できます:
たとえば、log4j 構成を使用する場合:
<code># 记录SQL语句 log4j.logger.org.hibernate.SQL=debug # 记录传递给查询的JDBC参数 log4j.logger.org.hibernate.type=trace </code>
最初の設定 (org.hibernate.SQL) は、hibernate.show_sql=true レガシー プロパティの設定と同等です。 2 番目の設定 (org.hibernate.type) は、バインディング パラメーターとその他の情報を出力します。
実際の値を含むクエリを出力するもう 1 つの方法は、P6Spy などの JDBC プロキシ ドライバーを使用することです。このドライバーはすべての SQL ステートメントをインターセプトし、クエリ パラメーターの実際の値を含む詳細な情報をログに記録します。
以上がHibernate でパラメータ値を含む詳細な SQL クエリをログに記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。