hibernate显示查询执行时间
我一直在寻找安装程序hibernate或log4j来告诉我在hibernate中执行查询的时间,hql会调用这些查询 直到现在我还没发现什么有趣的事hibernate显示查询执行时间,hibernate,Hibernate,我一直在寻找安装程序hibernate或log4j来告诉我在hibernate中执行查询的时间,hql会调用这些查询 直到现在我还没发现什么有趣的事 也许你们中的一些人可以帮我解决这个问题?要将查询及其执行时间记录到日志文件,您可以尝试执行完全相同的操作,并且具有简单的功能 另一种方法是使用它来显示JDBC/Hibernate调用和更多细节 相关链接: 如果需要自定义解决方案,可以使用AOP并在执行本机查询时在hibernate会话类周围添加一个环绕建议。有一种简单的方法(内置hibern
也许你们中的一些人可以帮我解决这个问题?要将查询及其执行时间记录到日志文件,您可以尝试执行完全相同的操作,并且具有简单的功能 另一种方法是使用它来显示JDBC/Hibernate调用和更多细节 相关链接:
hibernate
)来实现它。它由in3.5.4
和3.6.0.Beta1
固定
要使用它,请使用:
- 登录包:
至少在org.hibernate.stat
和INFO
- 设置休眠属性:
hibernate.generate_statistics=true
SQL
s,包括获取的行数和执行查询所用的时间
此外,如果感兴趣,它还提供查询的统计信息。要通过
JMX
公开它们,并使用JConsole
查看它们,您可以使用Hibernate JConsole插件
,该插件位于:嗨,Peter,它对我有效,但我必须将log4j的级别更改为org.Hibernate.stat上的trace才能正常工作。谢谢你为我提供的解决方案!在logback.xml:In hibernate.properties:hibernate.generate_statistics=trueIt中,它适用于org.hibernate.loader.loader发送的JDBC查询,但不适用于org.hibernate.JDBC.AbstractBatcher发送的查询(延迟加载)。最简单的解决方案是为“org.hibernate.*”配置调试日志,并查看在哪个日志时间戳执行哪个查询。如果您在一个会话中做了很多事情,那么您无法确定每个任务的性能。例如,“1436424992纳秒执行14条JDBC语句”;它显示的是HQL而不是SQL。有没有办法改变这种状况?