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 :

Comment lire les données provenant d'une requete multitables


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 138
    Points : 45
    Points
    45
    Par défaut Comment lire les données provenant d'une requete multitables
    Hello
    Voila je fait une requete qui recupere des nom sur plusieurs table (1 nom par table)
    J'ai testé ma requete dans un client SQL ==> OK
    Le problème qui se pose est que je recupere dans une liste ma requete et je ne peux l'afficher car j'ai un java.lang.Object error

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    (...)
    List l = session.createQuery("ma requete").list();
     
    		Iterator it =l.iterator();
     
    		while(it.hasNext())
    		{
    			Test t=(Test) it.next();
    			System.out.println(t.getNom1()+" "+t.getNom2()+" "+t.getNom3);
    		}
    (...)

    Ca crash sur le Test t=(Test) it.next();

    La class Test a ete créé specialement pour justement afficher ces données, je ne peux caster le resultat sur une de mes tables etant donnes que je recupere des donnees dans plusiquers tables


    Merci

  2. #2
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    soit plus précis stp !

    - qu'y a t-il dans "ma requete" ?
    - stacktrace de l'exception ?
    - version d'hibernate ?
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 138
    Points : 45
    Points
    45
    Par défaut
    Plugin hibernate de Tapestry 5

    SELECT t1.nom, t2.nom, t3.nom from table1 t1, table2 t2, table3 t3, table4 t4 where t1.num=t4.num and t2.num=t4.num and t3.num=t4.num and t4.num='1'

    [ERROR] RequestExceptionHandler Processing of request failed with uncaught exception: [Ljava.lang.Object;
    java.lang.ClassCastException: [Ljava.lang.Object;

  4. #4
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    ce que retourne hibernate est en fait une liste de tableaux d'objet (car tu as effectué une jointure).
    chaque tableau possède 4 entrées : des objets de type table1, table2, table3 et table4...

    De plus attention : La requête HQL manipule des classes persistante et non des tables, ca t'aidera sans doute pour la suite
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/01/2007, 17h46
  2. Comment convertir les données extraite d'une jtable ?
    Par jouidos dans le forum Langage
    Réponses: 2
    Dernier message: 11/12/2006, 09h35
  3. [MySQL] Récupérer les données lors d'une requete
    Par gguiz dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2006, 13h34
  4. Réponses: 1
    Dernier message: 24/04/2006, 01h55
  5. comment compter les entrées identiques dans une requete?
    Par Chico_Latino dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 18h16

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