Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hibernate显示查询执行时间_Hibernate - Fatal编程技术网

hibernate显示查询执行时间

hibernate显示查询执行时间,hibernate,Hibernate,我一直在寻找安装程序hibernate或log4j来告诉我在hibernate中执行查询的时间,hql会调用这些查询 直到现在我还没发现什么有趣的事 也许你们中的一些人可以帮我解决这个问题?要将查询及其执行时间记录到日志文件,您可以尝试执行完全相同的操作,并且具有简单的功能 另一种方法是使用它来显示JDBC/Hibernate调用和更多细节 相关链接: 如果需要自定义解决方案,可以使用AOP并在执行本机查询时在hibernate会话类周围添加一个环绕建议。有一种简单的方法(内置hibern

我一直在寻找安装程序hibernate或log4j来告诉我在hibernate中执行查询的时间,hql会调用这些查询

直到现在我还没发现什么有趣的事


也许你们中的一些人可以帮我解决这个问题?

要将查询及其执行时间记录到日志文件,您可以尝试执行完全相同的操作,并且具有简单的功能

另一种方法是使用它来显示JDBC/Hibernate调用和更多细节

相关链接:


如果需要自定义解决方案,可以使用AOP并在执行本机查询时在hibernate会话类周围添加一个环绕建议。

有一种简单的方法(内置
hibernate
)来实现它。它由in
3.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。有没有办法改变这种状况?