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 :

Jointure avec Hibernate


Sujet :

Hibernate Java

  1. #1
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut Jointure avec Hibernate
    BONJOUR
    je viens de consulter vos messages sur le forum ,et je voix que vous avez pu aider une personne ,donc SVP j'espére que vous allez m'aider,voila j'ai deux tables:

    personne (id,nom,prenon,cod_activité1,cod_activité2)
    activité(cod_activité,intitule)

    ou cod_activité1 et cod_activité2 sont dans la table activité clé cod_activité ,donc chaque personne a 1 ou 2 activitées

    je veux faire une requette qui me donne les personnes avec leurs activités que l'intitulé,j'auré une chose comme ça: id,nom,prenom,intitule,intitule

    je débute avec hibernate ,et je n'arrive pas a faire la jointure entre les deux tables personne et activité

    SVP si vous pourrai m'aider je vous serrez trés reconnaissante ,

    merci d'avance
    cordialement nina

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Tu peux nous mettre le code de tes deux classes correspondant à personne et activité ?

  3. #3
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut hibernate
    ok ,donc je vais vous donner un example plus simple
    identification(code,login,password,idUser)
    personne(idUser,nom,prenom)
    je veux faire une jointure en SQL sa serai:

    select nom,prenom,password,login from identification,personne where personne.idUser=identification.idUser

    j vais vous envoiyer le code

  4. #4
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    classe Personne
    ***********************************
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    package com.dis.struts;
    public abstract class AbstractPersonne  implements java.io.Serializable {
     
         private Integer idUser;
         private String nom;
         private String prenom;
         private Identification identification;
     
     
        public Identification getIdentification() {
            return identification;
        }
     
        public void setIdentification(Identification identification) {
            this.identification = identification;
        }
     
        public AbstractPersonne() {
        }
     
        public AbstractPersonne(String nom, String prenom) {
            this.nom = nom;
            this.prenom = prenom;
        }
     
        public Integer getIdUser() {
            return this.idUser;
        }
     
        public void setIdUser(Integer idUser) {
            this.idUser = idUser;
        }
     
        public String getNom() {
            return this.nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        public String getPrenom() {
            return this.prenom;
        }
     
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
       }
    ***************************************
    classe identification
    *****************************************
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    package com.dis.struts;
     
    public abstract class AbstractIdentification  implements java.io.Serializable {
     
         private Integer code;
         private Integer idUser;
         private String login;
         private String password;
     
        public AbstractIdentification() {
        }
     
        public AbstractIdentification(Integer idUser) {
            this.idUser = idUser;
        }
     
     
        public AbstractIdentification(Integer idUser, String login, String password) {
            this.idUser = idUser;
            this.login = login;
            this.password = password;
        }
     
        public Integer getCode() {
            return this.code;
        }
     
        public void setCode(Integer code) {
            this.code = code;
        }
     
        public Integer getIdUser() {
            return this.idUser;
        }
     
        public void setIdUser(Integer idUser) {
            this.idUser = idUser;
        }
     
        public String getLogin() {
            return this.login;
        }
     
        public void setLogin(String login) {
            this.login = login;
        }
     
        public String getPassword() {
            return this.password;
        }
     
        public void setPassword(String password) {
            this.password = password;
        }
     
    }

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu peux faire qqch du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Query requete = session.createQuery("from Personne");
    List personnes = requete.list();
    Iterator iter = personnes.iterator();
    while(iter.hasNext())
    {
      Personne personne = (Personne)iter.next();
      System.out.println("Id : " + personne.getId() + " Nom : " + personne.getNom() + " Prénom : "  + personne.getPrenom() + " Activité 1 : " + personne.getActivite1().getIntitule() + " Activité 2 : " + personne.getActivite2().getIntitule() );
    }
    Code à vérifier et à adapter.

  6. #6
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    le from personne récupére les données que de la table personne ,mais je veux une liste qui contient (personne+ identification)

  7. #7
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    je sais pas si vous avez compris mon probléme ? peut etre je me suis mal expliquée

  8. #8
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Certes mais de tes personnes tu as accès aux activités reliées.

    Si tu veux vraiment faire comme ça tu peux essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select personne.id, personne.nom, ..., personne.activite1.intitule,
    personne.activite2.intitule
    from Personne personne
    Les données seront renvoyées dans un tableau.

  9. #9
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    SVP j'ai les classes personne et identification ,j'ai pas activité (j'ai changer le probléme)

    donc je veux une liste qui contient les personnes avec leurs identification ,du genre

    select persone.nom,persone.prenom,identification.login,identification.password
    from identification,personne
    where personne.idUser=identification.idUser

    donc je suis coincée car je sais pas la jointure comment se passe avec hinernate

    merci pour l'intéret que vous porté pour mon probléme ,c trés gentil

  10. #10
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select persone.nom, persone.prenom, personne.identification.login, personne.identification.password
    from Personne personne

  11. #11
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Owned

  12. #12
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    merci pour le code

    je doit rajouter identification dans la classe personne ,c ça
    parceque je ne voit pas de jointure

  13. #13
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    List maList=mySession.createSQLQuery("SELECT personne.nom,personne.identification.login from Personne personne").list();
         	request.setAttribute("laListe", maList);
    	return mapping.findForward("s");
    mé ça marche pas

  14. #14
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    please est ce que tu voix l'érreur ou le probléme

  15. #15
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Déjà, si tu ne nous donnes pas l'erreur, c'est pas évident de trouver...

    Ensuite il faut utiliser :
    si tu utilises le HQL (langage de requête d'HIibernate qui fonctionne avec des classes), au lieu de:
    qui fonctionne avec des tables.

  16. #16
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    SVP vous étes toujours la ,ce probléme me bloque vraiment car depuis quelques jours je n'arret pas de chercher et je trouve pas ..............

    je sais pas si il faut toucher aux fichiersersonne.hbm.xml et identification.hbm.xml ??????

  17. #17
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Ben on t'a demandé quand de nous donner l'erreur que ça te donne ... on a pas de boule de cristal ...

  18. #18
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    voici l'érreur que j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    javax.servlet.ServletException
    	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	com.dis.struts.action.ActAction.execute(ActAction.java:61)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.17.

  19. #19
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Et c'est quoi cette ligne :

  20. #20
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    passe en mode debug pour voir où se situe ton null pointer.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. jointure de deux tables avec hibernate
    Par Palsajicoco dans le forum Hibernate
    Réponses: 0
    Dernier message: 04/05/2011, 17h03
  2. [Hibernate 3] [Criteria] Faire une jointure avec Criteria
    Par bouchette63 dans le forum Hibernate
    Réponses: 30
    Dernier message: 07/06/2010, 17h54
  3. Jointure entre 2 class avec Hibernate
    Par yassineelouardi dans le forum Hibernate
    Réponses: 5
    Dernier message: 21/07/2009, 15h40
  4. Jointure avec hibernate
    Par Derf4002 dans le forum Hibernate
    Réponses: 10
    Dernier message: 23/05/2008, 12h53
  5. Jointure avec Hibernate via Criteria
    Par Spir dans le forum Hibernate
    Réponses: 3
    Dernier message: 05/03/2008, 15h12

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