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 formuler une requête qui joingne trois tables


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Points : 20
    Points
    20
    Par défaut comment formuler une requête qui joingne trois tables
    bonjour,
    je suis débutant en hibernate et j'arrive pas à formuler une requête hql de jointure.
    j'ai une classe Appel (id_appel,n_appel, id_correspondant, id_societe, observations)
    et la classe Societe(id_societe, n_societe, raison_social, ...)
    et la classe CorrespondantInformatique (id_correpondant,n_correpondant, nom,prenom,...)
    et je veux formuler une requête hql qui va me retourner le resultat suivant:

    (id_appel,n_appel, n_correpondant, n_societe, observations)

    puisque je sais pas comment faire la jointure entre les tables en hql.

    merci.

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2008
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 168
    Points : 103
    Points
    103
    Par défaut
    Salut.
    Petite question ...
    De quel type est ton attribut "id_correspondant" de ta classe "Appel"

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Points : 20
    Points
    20
    Par défaut
    il est de type CorrespondantInformatique puisqu'il y a une relation many-to-one entre les deux tables.

  4. #4
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Si toutes ces relations sont bien mappées, alors dans un objet Appel tu auras un objet Societe et un CorrespondantInformatique. Les jointures seront automatiquement générées par Hibernate.
    Ensuite, pour extraire uniquement les colonnes qui t'intéresse tu peux utiliser une requête du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select
       idAppel, 
       numAppel, 
       correspondant.numCorrespondant, 
       societe.numSociete, 
       observations
    from
       Appel
    where
       ....
    (à condition que la relation vers le CorrespondantInformatique soit mappée sous l'attribut "correspondant" et pareil pour "societe").

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Points : 20
    Points
    20
    Par défaut
    oui ca marche merci a tes réponses.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/03/2013, 18h23
  2. Comment ecrire une requête qui transforme
    Par tomga dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/07/2009, 22h40
  3. Réponses: 5
    Dernier message: 08/01/2007, 21h03
  4. Réponses: 4
    Dernier message: 06/09/2006, 14h04
  5. Comment formuler une requête alter table ?
    Par cjo dans le forum Paradox
    Réponses: 2
    Dernier message: 29/12/2005, 03h11

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