Hibernate: Comment tracer les requêtes SQL et les paramètres des requêtes

Cet article est davantage un pense bête personnel.

Ces deux articles expliquent parfaitement les bonnes pratiques en matière de debugage des requêtes SQL et la manière de les mettre en oeuvre.

Mieux vaut éviter d’utiliser la propriété show_sql et préférer une configuration des logs (org.hibernate.SQL, org.hibernate.type.descriptor.sql …).

http://www.thoughts-on-java.org/hibernate-logging-guide/

http://docs.jboss.org/hibernate/orm/4.3/topical/html/logging/Logging.html

Cependant vous pouvez rencontrer des problèmes de mise en oeuvre si vous utilisez une librairie de log telle que SLF4J. Pourquoi ? Parce que Hibernate (depuis la version 4) utilise un « bridge » pour ne pas être dépendant d’une librairie de log particulière. Ce bridge teste les API disponibles dans le classpath selon un ordre précis. Donc assurez vous bien que les librairies tierces que vous avez intégrées dans votre projet n’ont pas de dépendance avec une API de log.

Dans un projet maven, il suffit d’exécuter la tâche dependency-tree qui liste l’ensemble des dépendance de votre projet. Si vous trouvez une dépendance avec une autre librairie de log, il faudra exclure cette dépendance en intègrant une section exclusion dans le noeud dependency.

Par exemple pour exclure une dépendance avec la librairie log4j.

<dependency>
...
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>

 

Publicités

A propos jlerbsc

founder of JavaPerf Consulting Http://www.jperf.com
Cet article, publié dans tech notes, est tagué . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s