Hibernate/Log

Pour activer l'affichage des requêtes SQL générées par Hibernate, on connait le classique show_sql, qui peut être configurée dans le fichier hibernate.cfg.xml.

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

Cette option est pratique, mais a quelques défauts importants :

Pour envoyer les logs dans Log4J ou Logback, il faut désactiver l'option show_sql et activer le logger org.hibernate.SQL en debug.

 <logger name="org.hibernate.SQL" level="DEBUG" />

Les informations sur les paramètres sont envoyées dans le logger org.hibernate.type, au niveau trace.

 <logger name="org.hibernate.type" level="TRACE"/>

Ce logger concerne aussi les valeurs récupérées des requêtes.

Enfin, pour une meilleure mise en forme des requêtes, il faut activer l'option format_sql. Ceci fonctionne avec l'option show_sql ou le logger org.hibernate.SQL.

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