Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

hibernate show query execution time

Tags:

hibernate

I was looking for setup hibernate or log4j to show me, how long are executed queries in hibernate, which are invoked by hql.

Till now i didn't found anything interesting.

Maybe some of you might help me with this issue ?

like image 369
Ilkar Avatar asked Sep 29 '12 20:09

Ilkar


1 Answers

There is a simple way (built in hibernate) to achieve it. It was fixed by HHH-3659 in 3.5.4 and 3.6.0.Beta1.

To go for it, use:

  • logging on the package: org.hibernate.stat at least on DEBUG and
  • set hibernate property: hibernate.generate_statistics=true

Afterwards all the SQLs will be logged including the row count fetched and the time the query execution took.

Moreover if interested, it provides statistics on queries. To have them exposed via JMX and see them using JConsole, you can use Hibernate JConsole plugin, available on: http://hibernate-jcons.sourceforge.net/

like image 183
Peter Butkovic Avatar answered Sep 21 '22 18:09

Peter Butkovic