hibernate requête afficher le temps d'exécution

je cherchais setup hibernate ou log4j pour me montrer, combien de temps sont exécutées les requêtes en hibernation, qui sont invoquées par hql.

Jusqu'à présent, je n'ai rien trouvé d'intéressant.

Peut-être que certains d'entre vous pourraient m'aider avec ce problème ?

21
demandé sur rosscova 2012-09-30 00:59:42

3 réponses

il y a un moyen simple (construit en hibernate) pour l'atteindre. Il a été fixé par HHH-36593.5.4 et 3.6.0.Beta1.

vas-y, utilisez:

  • journalisation sur l'emballage: org.hibernate.stat au moins INFO et
  • définir la propriété hibernate: hibernate.generate_statistics=true

après tout le SQL s sera enregistré, y compris le nombre de lignes récupérées et le temps d'exécution de la requête.

en outre si intéressé, il fournit des statistiques sur les requêtes. Pour les avoir exposés à l'aide de JMX et de les voir à l'aide de JConsole, vous pouvez utiliser Hibernate JConsole plugin, disponible sur: http://hibernate-jcons.sourceforge.net/

26
répondu Peter Butkovic 2013-08-13 08:55:46

journal des requêtes avec son temps d'exécution dans le fichier journal, vous pouvez essayer Artisan Espion Pilote JDBC intégration avec le printemps.

une Autre façon est d'utiliser Printemps Insight qui montre les appels JDBC / hibernation et beaucoup plus de détails.

liens:

4
répondu Slava Semushin 2012-09-29 21:10:39

si vous voulez une solution personnalisée, vous pouvez utiliser L'AOP et Ajouter un conseil d'utilisation autour de la classe session hibernate si vous exécutez des requêtes natives.

2
répondu ge0man 2012-09-30 04:28:42