如何使用hibernate监控每个查询执行时间?

时间:2016-06-02 10:19:44

标签: spring hibernate maven intellij-idea log4j

在hibernate中,我正在使用show_sql property = true以及hibernate.generate_statistics = true。但这并没有帮助我。等待提前和感谢。

4 个答案:

答案 0 :(得分:2)

执行以下步骤: -

更改 log4j 级别以追踪 org.hibernate.stat

登录软件包: org.hibernate.stat 至少在INFO和

设置hibernate属性:hibernate.generate_statistics=true

之后将记录所有SQL以及执行查询的时间。

它提供有关查询的统计信息。如果您愿意,可以通过JMX公开它们并使用JConsole(http://hibernate-jcons.sourceforge.net/)查看它们。

答案 1 :(得分:2)

您还可以使用资料库datasource-proxy。这将记录具有附加参数和执行时间的确切SQL查询。我猜这会对你有所帮助。

答案 2 :(得分:0)

看看JConsole Hibernate插件: http://hibernate-jcons.sourceforge.net/usage.html

使用此功能,您将能够看到正在执行的所有查询以及运行时间。

答案 3 :(得分:0)

第一步sperate查询构建和查询执行两种方法。然后在执行方法上应用@Loggable注释。您可以阅读它的详细信息here。这将打印方法执行所花费的时间。