Подтвердить что ты не робот

Как получить доступ к Hibernate Статистика

Поэтому в моем persistence.xml я включил hibernate.generate_statistics.

<property name="hibernate.generate_statistics">true</property>

Мой вопрос, как мне получить к ним доступ? Куда идет статистика?

4b9b3361

Ответ 1

В своем сервисе dao вы можете пойти:

Session session = this.sessionFactory.getCurrentSession();
SessionStatistics sessionStats = session.getStatistics();
Statistics stats = this.sessionFactory.getStatistics(); 

Ответ 5

Есть несколько способов доступа к статистике Hibernate:

Programatically

Если вы хотите получить объект Statistics в вашем приложении, вы можете сделать это следующим образом:

Session session = entityManager.unwrap(Session.class);

Statistics statistics = session.getSessionFactory().getStatistics();

логирование

Если вы хотите регистрировать Statistics отчет, вам нужно добавить следующую запись конфигурации журнала:

<logger name="org.hibernate.engine.internal.StatisticalLoggingSessionEventListener" level="info"/>

JMX

Вы также можете открыть объект Statistics через JMX, как описано в этой статье.

Для этого вам нужно установить следующее свойство конфигурации:

<property name="hibernate.jmx.enabled" value="true"/>

И найдите org.hibernate.core MBean org.hibernate.core в вашем клиентском приложении JMX.

Если вы хотите лучше понять, какие метрики поддерживает Hibernate, ознакомьтесь с этой статьей.