2

Java 言語を使用して、Hibernate から UPDATE を実行中にネイティブ SQL クエリを取得することは可能ですか?

たとえば、私は

session.update(something);

StringUPDATE アクションの背後にある SQL クエリを含む (または何か他のもの) を取得したいと思います。


Hibernate が MySQL に「送信」する効果的なクエリが必要です。

4

3 に答える 3

3

あなたはできる。Hibernate は log4j を使用しているため、適切なカテゴリを設定する必要があります。それらは:

org.hibernate.SQLdebug

org.hibernate.typetrace

ここも参照してください: Hibernate を使用するときにパラメーター値を含むクエリ文字列を出力する方法

于 2013-05-14T11:28:55.123 に答える
2

あなたには2つの選択肢があります...

  • persistance.cfg.xml で設定することもできます<property name="show_sql">true</property>が、これはパラメーターの値を表示しません。

  • (私の好みのオプション) SQL プロファイラー (MS SQL を使用している場合) を使用して、データベースに対して実行されている SQL を正確に確認できます。

于 2013-05-14T10:24:24.687 に答える
1

プログラムでクエリを取得することはできません (または、少なくとも特定のデータベースのコーディングなしでは不可能です): SQL クエリは、休止状態を使用して対話しているデータベースに依存し、通常、休止状態を介して直接アクセスすることはできません。データベース ドライバー。

実際の SQL ステートメントを確認する最善の方法は、データベースのログ ファイルを確認することです。

于 2013-05-14T10:21:40.443 に答える