ホームページ >データベース >mysql チュートリアル >Hibernate によって生成された実際の SQL を確認するにはどうすればよいですか?

Hibernate によって生成された実際の SQL を確認するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-21 07:47:11719ブラウズ

How Can I See the Actual SQL Generated by Hibernate?

Hibernate は実際の SQL を表示します

Hibernate の hibernate.cfg.xml 設定ファイルで show_sql 属性を true に設定して、Hibernate によって生成された SQL ステートメントを表示します。ただし、生成される SQL は必ずしも読みやすい形式であるとは限りません。

実際の SQL を表示

データベースに直接渡された実際の SQL ステートメントを確認するには、次の手順を実行します。

  • P6Spy や log4jdbc などの JDBC ドライバー プロキシを使用します。
  • log4j.properties ファイルを使用して、次のカテゴリのログ記録を有効にします:
<code>log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE</code>

最初のカテゴリは hibernate.show_sql=true と同等ですが、2 番目のカテゴリはバインディング パラメータとその他の情報を出力します。

2 番目の方法を使用すると、次の出力が表示される場合があります:

<code>2023-02-27 16:01:18,226 DEBUG org.hibernate.SQL  - select employee.code from employee where employee.code = ?
2023-02-27 16:01:18,232 TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [1] as [INTEGER] - [12]</code>

これにより、次のような「実際の」SQL が得られます。

<code>select employee.code from employee where employee.code=12</code>

参考

以上がHibernate によって生成された実際の SQL を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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