2012-08-03 3 views

Répondre

4

Vous pouvez simplement activer la journalisation SQL dans Hibernate et regarder les requêtes qu'il génère. Plus précisément, définissez cette propriété:

hibernate.show_sql=true 

EDIT: Si stdout n'est pas disponible pour vous en fonction de la façon dont vous démarrez votre serveur, vous souhaitez modifier la configuration de l'enregistrement de mise en veille prolongée pour imprimer les journaux de débogage SQL . Ajoutez cette ligne à votre fichier de propriétés log4j.

log4j.logger.org.hibernate.SQL=DEBUG 
+0

Vous pouvez également définir le niveau de consignation de 'org.hibernate.SQL' sur DEBUG. –

+0

merci, si j'ai ajouté cela dans hibernate.cfg après que j'ai couru les tests unitaires encore son impression pas les journaux. – NPKR

+0

Comment démarrez-vous votre serveur? Si stdout n'est pas disponible, vous ne verrez pas les journaux. Dans ce cas, l'idée de Piotr de définir le niveau de journalisation hibernate sur debug pour sqls serait utile. –

3

Vous pouvez également utiliser divers enregistreurs.

<!-- Log all SQL DML statements as they are executed --> 
<logger name="org.hibernate.SQL" level="debug" /> 
<!-- Log all JDBC parameters --> 
<logger name="org.hibernate.type" level="debug" /> 
<!-- Log all second level cache activity --> 
<logger name="org.hibernate.cache" level="debug" /> 
<!-- Log all transaction related activity --> 
<logger name="org.hibernate.transaction" level="debug" /> 
<!-- Log everything --> 
<logger name="org.hibernate" level="debug" /> 
0

Comme d'autres l'ont fait remarquer, la propriété hibernate.show_sql pour mise en veille prolongée permet de se connecter requêtes SQL Hibernate exécute.

Pour l'interrogation interactive, il existe des plugins de console Hibernate pour Eclipse et IntelliJ IDEA qui vous permettront d'entrer des requêtes HQL et de les exécuter. Notez qu'il s'agit d'une technique utile pour savoir si vous devez effectuer une optimisation des requêtes HQL (c'est-à-dire que vous voulez voir si votre requête HQL est exécutée en utilisant les index appropriés).