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 :

Tracer une requête Hibernate dans Eclipse


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 32
    Par défaut Tracer une requête Hibernate dans Eclipse
    bonjour,

    j'ai une ligne de code java qui fait une requete hibernate. elle me ramene une liste :
    Collection listTest = adminService.findAdminList(pmForm.getTri(),pmForm.getChamp(),affregToDoListV)

    Le probleme est que la liste me ramene des valeurs differentes que la requete hibernate sous jacente.
    Cette requete est tracée dans Eclipse en mode debug:
    Hibernate: select this.NOTIFICATION_ID as NOTIFICA1 ...

    Peut etre je ne m'y prends pas bien ?
    Le point d'arrete sur listTest donne des valeurs different du select ci dessus ...

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par eric___ Voir le message
    Le probleme est que la liste me ramene des valeurs differentes que la requete hibernate sous jacente.
    Pourrais-tu élaborer un peu?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 32
    Par défaut
    Salut tschize :-)
    Donc en fait, j'ai une requete hibernate qui me renvoie un objet avec des valeurs differentes de l'equivalent en requete SQL pur.

    Pour avoir l'equivalent SQL , je recupere le SQL en mode debug sous ECLIPSE.

    Je te mets le code utilisé, mais je ne pense pas que ça clarifie les explications :

    Recuperation des valeurs par hibernate dans une collection :

    AdminService adminService = (AdminService) ServiceFactory.getInstance().getService("service.AdminService.class.impl", serviceContext);

    Collection listTest = adminService.findAdminList(pmForm.getTri(),pmForm.getChamp(),affregToDoListV);

    Si je debug la listTest :
    listTest.name = X

    or le debugger d'eclipse me trace une requete correspondante (un select),
    avec une valeur
    listTest.name = Y.
    (je copie colle le select fourni par eclipse sous TOAD).

    Merci de ton aide.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    les requetes en debug d'hibernate n'affiche pas les valeurs fournies à la requete paramétrée. Asseurez vous que c'est bien le même. De plus, les opération d'éclipse se déroule dans un transaction. En effectuant la même requete a l'exétérieur de la transaction, vous allez l'exécuter sur un autre état de la base de donnée. Par exemple, si vous avez modifié name en X dans un bean hibernate puis vous faites cette recherche, hibernate récupérera le bean dans cet état la. alors que de l'extérieur de la transaction vous voyez toujours Y.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 32
    Par défaut
    ça me parait credible, le fait d'avoir des valeurs differentes en base et dans l'application, car je suis dans deux transactions differentes.

    Ne faisant aucune transaction dans la base directement, uniquement dans l'application, quelle est la commande hibernate qui permet de recuperer les dernieres valeurs commitées en base ?

    Merci encore de ton aide !

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    il y a pas de miracle, il faut commiter la transaction et en commencer une nouvelle. Autrement dit, si vous avez configuré hibernate avec une transaction/session, une nouvelle session hibernate. Aussi, si vos transaction en // se font dans des applications séparées, n'oubliez pas de vous assurer que le cache de second niveau est désactivé

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/04/2011, 17h18
  2. faire un calcul d'age dans une requête hibernate
    Par sandrine49 dans le forum Hibernate
    Réponses: 3
    Dernier message: 14/02/2009, 11h42
  3. récupérer le résultat d'une requête sql dans un edit
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2005, 14h07
  4. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11
  5. [jre]utiliser une autre vm dans eclipse
    Par champion dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 02/07/2004, 11h21

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