IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Logger les valeurs des paramètres des requêtes


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut Logger les valeurs des paramètres des requêtes
    Bonjour,

    Je me remet à Hibernate et je rencontre un souci que j'avais oublié avec ses concurrents : logger les valeurs des paramètres des requêtes exécutées.
    A l'époque ou j'utilisais Hibernate, j'avais utilisé P6Spy, un driver JDBC mouchard et passe plat en façade du driver JDBC cible.
    J'ai cherché sur Google si on faisait pas mieux et j'ai rien trouvé.
    Il n'y a pas de solution moins intrusive en passant par une conf Hibernate ou un outil Spring ?

    Pour info, je connais la technique qui consiste à configurer le Logger des packages d'Hibernate en niveau Trace mais je trouve que ça pourri un peu les logs avec pleins de trucs pas toujours utiles (ouverture, fermeture de sessions, cache, routine Hibernate, etc...)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    J'ai peut être trouvé quelque chose d'acceptable :
    logger seulement le package org.hibernate.type.descriptor.sql.

    Pour l'instant, le seul mauvais côté que je vois c'est que je dépend de l'arbo de packages d'hibernate-core. Si ils changent l'arbo du package tracé, mes logs de param ne fonctionneront plus. Enfin bon,il y a peu de chance.

    Si quelqu'un a mieux, je suis preneur.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par thebloodyman Voir le message
    J'ai peut être trouvé quelque chose d'acceptable :
    logger seulement le package org.hibernate.type.descriptor.sql.

    Pour l'instant, le seul mauvais côté que je vois c'est que je dépend de l'arbo de packages d'hibernate-core. Si ils changent l'arbo du package tracé, mes logs de param ne fonctionneront plus. Enfin bon,il y a peu de chance.

    Si quelqu'un a mieux, je suis preneur.
    L'autre outil intéressant - mais qui ne concerne pas les requêtes SQL directement - est de mettre un hibernate.ejb.interceptor qui va vous permettre de connaître les modifications apportées aux entités (POJO) elles-mêmes.

    C'est de plus haut niveau et évidemment ce qui n'est pas "entité" passera en dessous de ce radar-là, mais les entités modifiées/effacées le sont forcément via du SQL.

    Dans Spring, voir org.springframework.orm.hibernate3.support.ScopedBeanInterceptor et dans Hibernate : org.hibernate.Interceptor.

    L'avantage étant quand même de se placer à un niveau supérieur et de ne pas devoir se préoccuper de ce qui est "commited" et de ce qui ne l'est pas lorsqu'on travaille au niveau des logs SQL.


    Et pour rester dans le plus haut niveau, il y a toujours la possibilité d'utiliser AspectJ sur vos classes services.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AOP] Logger les temps d'exécution des requêtes
    Par HadanMarv dans le forum Spring
    Réponses: 2
    Dernier message: 17/11/2014, 10h39
  2. Réponses: 3
    Dernier message: 07/08/2009, 11h59
  3. Valeur par défaut des paramètres d’une méthode
    Par three minute hero dans le forum BOUML
    Réponses: 6
    Dernier message: 29/06/2008, 23h04
  4. Comment afficher les valeurs à la place des "?"
    Par jeyce dans le forum Hibernate
    Réponses: 9
    Dernier message: 12/09/2007, 16h58
  5. Retrouver les valeurs des paramètres des fonctions d'une DLL
    Par Bernard Martineau dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo