Hay una manera simple (construida en hibernate
) para lograrlo. Fue arreglado por HHH-3659 en 3.5.4
y 3.6.0.Beta1
.
ir a por ello, utilizar:
- registro en el paquete:
org.hibernate.stat
al menos en INFO
y
- conjunto hibernación propiedad:
hibernate.generate_statistics=true
Después todo se registrarán los SQL
s incluyendo el conteo de filas obtenido y el tiempo que tomó la ejecución de la consulta.
Además, si está interesado, proporciona estadísticas sobre consultas. Tenerlos expuestos a través de JMX
y verlos utilizando JConsole
, puede utilizar Hibernate JConsole plugin
, disponible en: http://hibernate-jcons.sourceforge.net/
Hola Pedro, funcionó para mí, pero tuve que cambiar el nivel del log4j para rastrear en org.hibernate.stat para conseguir ese trabajando. Gracias por su solución –
¡Eso funcionó para mí! En logback.xml: En hibernate.properties: hibernate.generate_statistics = true –
formica
Funciona para consultas JDBC enviadas por org.hibernate.loader. Loader, pero no los enviados por org.hibernate.jdbc.AbstractBatcher (carga diferida). La solución más fácil fue configurar el inicio de sesión en DEPURACIÓN para "org.hibernate. *" Y ver qué consulta se ejecuta en qué registro de marca de tiempo. – metatechbe