Hibernate trace divers évènements en utilisant Apache commons-logging.
Le service commons-logging délèguera directement à Apache Log4j (si vous incluez log4j.jar
dans votre classpath) ou le système de trace du JDK 1.4 (si vous tournez sous le JDK 1.4 et supérieur). Vous pouvez télécharger
Log4j à partir de http://jakarta.apache.org
. Pour utiliser Log4j, vous devrez placer dans votre classpath un fichier log4j.properties
. Un exemple de fichier est distribué avec Hibernate dans le répertoire src/
.
Nous vous recommandons fortement de vous familiariser avec les messages des traces d'Hibernate. Beaucoup de soins a été apporté pour donner le plus de détails possible sans les rendre illisibles. C'est un outil essentiel en cas de soucis. Les catégories de trace les plus intéressantes sont les suivantes :
Tableau 3.9. Catégories de trace d'Hibernate
Catégorie | Fonction |
---|---|
org.hibernate.SQL |
Trace toutes les requêts SQL de type DML (gestion des données) qui sont exécutées |
org.hibernate.type |
Trace tous les paramètres JDBC |
org.hibernate.tool.hbm2ddl |
Trace toutes les requêts SQL de type DDL (gestion de la structure de la base) qui sont exécutées |
org.hibernate.pretty |
Trace l'état de toutes les entités (20 entités maximum) qui sont associées avec la session hibernate au moment du flush |
org.hibernate.cache |
Trace toute l'activité du cache de second niveau |
org.hibernate.transaction |
Trace toute l'activité relative aux transactions |
org.hibernate.jdbc |
Trace toute acquisition de ressource JDBC |
org.hibernate.hql.ast.AST |
Trace l'arbre syntaxique des requêtes HQL et SQL durant l'analyse syntaxique des requêtes |
org.hibernate.secure |
Trace toutes les demandes d'autorisation JAAS |
org.hibernate |
Trace tout (beaucoupe d'informations, mais très utile pour résoudre les problèmes). |
Lorsque vous développez des applications avec Hibernate, vous devriez quasiment toujours travailler avec le niveau debug
activé pour la catégorie org.hibernate.SQL
, ou sinon avec la propriété hibernate.show_sql
activée.