我正在尋找安裝程序hibernate或log4j向我展示hibernate執行的查詢在hibernate中執行多長時間,由hql調用。hibernate顯示查詢執行時間
直到現在我沒有發現任何有趣的事情。
也許你們中的一些人可能會幫我解決這個問題?
我正在尋找安裝程序hibernate或log4j向我展示hibernate執行的查詢在hibernate中執行多長時間,由hql調用。hibernate顯示查詢執行時間
直到現在我沒有發現任何有趣的事情。
也許你們中的一些人可能會幫我解決這個問題?
要將具有執行時間的查詢記錄到日誌文件中,您可以嘗試Craftsman Spy JDBC Driver,它們完全相同,並且具有簡單的integration with Spring。
另一種方法是使用Spring Insight,它顯示JDBC/Hibernate調用和更多細節。
相關鏈接:
如果你想定製的解決方案,你可以使用AOP和周圍的Hibernate的Session類添加一個環繞通知,如果你正在執行原生查詢。
有一個簡單的方法(建在hibernate
)來實現它。它被HHH-3659在3.5.4
和3.6.0.Beta1
中修復。
去,請使用:
org.hibernate.stat
至少在INFO
和hibernate.generate_statistics=true
之後,將所有的SQL
旨意記錄包括獲取的行數和執行查詢的時間。
此外,如果有興趣,它提供查詢統計。讓他們通過JMX
暴露,並看到他們使用JConsole
,您可以使用Hibernate JConsole plugin
,可在:http://hibernate-jcons.sourceforge.net/
喜彼得,它爲我,但我不得不改變Log4j的水平,微量元素對org.hibernate.stat來獲取加工。感謝您的解決方案 –
這對我有效! 在logback.xml中: 在hibernate.properties中:hibernate.generate_statistics = true –
formica
它適用於由org.hibernate.loader發送的JDBC查詢。 Loader,但不是由org.hibernate.jdbc.AbstractBatcher發送的(延遲加載)。最簡單的解決方案是在「DEBUG」上配置「org.hibernate。*」的日誌記錄,並查看在哪個日誌時間戳處執行哪個查詢。 – metatechbe