hibernate show query execution time

后端 未结 3 1388
天涯浪人
天涯浪人 2020-12-10 00:47

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 intere

相关标签:
3条回答
  • 2020-12-10 01:29

    If you want a custom solution, you can use the AOP and add an around advice around the hibernate session class if you are executing native queries.

    0 讨论(0)
  • 2020-12-10 01:30

    To log queries with its execution time to log file you may try Craftsman Spy JDBC Driver which do exactly same things and has simple integration with Spring.

    Another way is to using Spring Insight which shows JDBC/Hibernate calls and many more details.

    Related links:

    • How to install Spring Insight
    • How to setup filters
    0 讨论(0)
  • 2020-12-10 01:48

    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 INFO 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/

    0 讨论(0)
提交回复
热议问题