我正在寻找 setup hibernate 或 log4j 来告诉我,在 hibernate 中执行多长时间的查询,由 hql 调用。
直到现在我还没有发现任何有趣的东西。
也许你们中的一些人可以帮助我解决这个问题?
我正在寻找 setup hibernate 或 log4j 来告诉我,在 hibernate 中执行多长时间的查询,由 hql 调用。
直到现在我还没有发现任何有趣的东西。
也许你们中的一些人可以帮助我解决这个问题?
有一种简单的方法(内置hibernate
)来实现它。它由HHH-3659在3.5.4
和3.6.0.Beta1
.
为此,请使用:
org.hibernate.stat
至少在DEBUG
和hibernate.generate_statistics=true
之后SQL
将记录所有 s,包括获取的行数和查询执行所用的时间。
此外,如果有兴趣,它会提供有关查询的统计信息。要让它们通过 暴露JMX
并查看它们JConsole
,您可以使用Hibernate JConsole plugin
,可在:http ://hibernate-jcons.sourceforge.net/
要将查询及其执行时间记录到日志文件中,您可以尝试使用Craftsman Spy JDBC 驱动程序,它做的事情完全相同,并且与 Spring 具有简单的集成。
另一种方法是使用Spring Insight,它显示 JDBC/Hibernate 调用和更多细节。
相关链接:
如果您需要自定义解决方案,则可以使用 AOP 并在执行本机查询时围绕休眠会话类添加环绕建议。