30

hqlによって呼び出される休止状態でクエリが実行される時間を表示するために、休止状態またはlog4jのセットアップを探していました。

今まで面白いものを見つけられませんでした。

多分あなたの何人かはこの問題で私を助けるかもしれませんか?

4

3 に答える 3

34

hibernateそれを達成するための簡単な方法(組み込み)があります。これは、およびの HHH-3659によって修正されました。3.5.43.6.0.Beta1

それを行うには、次を使用します。

  • パッケージへのログオン:org.hibernate.stat少なくともDEBUGおよび
  • 休止状態のプロパティを設定します。hibernate.generate_statistics=true

その後、SQLフェッチされた行数とクエリの実行にかかった時間を含むすべての s がログに記録されます。

さらに、興味がある場合は、クエリに関する統計を提供します。それらを 経由JMXで公開し、 を使用して表示するには、 http://hibernate-jcons.sourceforge.net/で入手JConsoleできる を使用できます。Hibernate JConsole plugin

于 2013-08-13T08:33:14.810 に答える
4

クエリを実行時間とともにログ ファイルに記録するには、Craftsman Spy JDBC Driverを試すことができます。これはまったく同じことを行い、Spring と簡単に統合できます。

もう 1 つの方法は、JDBC/Hibernate 呼び出しとその他の多くの詳細を表示するSpring Insightを使用することです。

関連リンク:

于 2012-09-29T21:10:39.750 に答える
2

カスタム ソリューションが必要な場合は、AOP を使用して、ネイティブ クエリを実行している場合、hibernate セッション クラスの周りにアドバイスを追加できます。

于 2012-09-30T04:28:42.800 に答える