所以在我的persistence.xml中,我打开了hibernate.generate_statistics。
persistence.xml
hibernate.generate_statistics
<property name="hibernate.generate_statistics">true</property>
我的问题是我如何访问它们?统计数据去哪里了?
tv6aics11#
在你的道务中你可以去:
Session session = this.sessionFactory.getCurrentSession(); SessionStatistics sessionStats = session.getStatistics(); Statistics stats = this.sessionFactory.getStatistics();
sf6xfgos2#
我宁愿使用Hibernate Statistics published via JMX,如果你使用spring,你可以用Hibernate Statistics MBean with Spring让它变得真实的容易
b91juud33#
有多种方法可以访问Hibernate统计信息:
如果要在应用程序中获取Statistics对象,可以按如下方式执行:
Statistics
Session session = entityManager.unwrap(Session.class); Statistics statistics = session.getSessionFactory().getStatistics();
如果要记录Statistics报告,则需要添加以下日志配置条目:
<logger name="org.hibernate.engine.internal.StatisticalLoggingSessionEventListener" level="info"/>
您还可以通过设置hibernate.jmx.enabled属性,通过JMX公开Statistics对象。为此,您需要设置以下配置属性:
hibernate.jmx.enabled
<property name="hibernate.jmx.enabled" value="true"/>
然后在JMX客户端应用程序中找到org.hibernate.core MBean包。
org.hibernate.core
qltillow4#
您也可以为其添加记录器。请参见; http://www.thoughts-on-java.org/how-to-activate-hibernate-statistics-to-analyze-performance-issues/
<!--Hibernate Statistics--> <logger category="org.hibernate.stat" use-parent-handlers="true"> <level name="DEBUG"/> </logger>
fwzugrvs5#
在我们的应用程序中,我们通过JMX发布了它,为了使它完整,我们需要手动add the criteria query data using aspects
5条答案
按热度按时间tv6aics11#
在你的道务中你可以去:
sf6xfgos2#
我宁愿使用Hibernate Statistics published via JMX,如果你使用spring,你可以用Hibernate Statistics MBean with Spring让它变得真实的容易
b91juud33#
有多种方法可以访问Hibernate统计信息:
编程
如果要在应用程序中获取
Statistics
对象,可以按如下方式执行:记录
如果要记录
Statistics
报告,则需要添加以下日志配置条目:JMX
您还可以通过设置
hibernate.jmx.enabled
属性,通过JMX公开Statistics
对象。为此,您需要设置以下配置属性:
然后在JMX客户端应用程序中找到
org.hibernate.core
MBean包。qltillow4#
您也可以为其添加记录器。请参见; http://www.thoughts-on-java.org/how-to-activate-hibernate-statistics-to-analyze-performance-issues/
fwzugrvs5#
在我们的应用程序中,我们通过JMX发布了它,为了使它完整,我们需要手动add the criteria query data using aspects