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 :

Problème avec <one-to-many>


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut Problème avec <one-to-many>
    Bonjour,

    J'ai 2 classes : Personnes et Coordonnées. Une personne peux avoir plusieurs coordonnées. J'ai donc une liste de coordonnées dans ma classe Personne.

    J'ai réussi à mapper cela avec Hibernate mais si une personne n'a pas de coordonnées, ça plante.

    N'y a-t-il pas un moyen pour obtenir plutôt une liste vide ( = null) au lieu d'un plantage ?

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Si...

    Fais voir le mapping...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Mapping de 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
     
    <class dynamic-insert="false" dynamic-update="false" mutable="true" name="FM.Personne" optimistic-lock="version" polymorphism="implicit" select-before-update="false" table="PERSONNE">
        <id column="ID_Personne" name="ID_Personne" type="integer">
          <generator class="increment"/>
        </id>
     
    <property name="Nom">
          <column name="Nom"/>
        </property>
     
        <property name="Prenom">
          <column name="Prenom"/>
        </property>
     
    <set name="SesCoordonnees" inverse="true">
            <key column="ID_Personne"/>
            <one-to-many class="FM.Personne" />
    </set>

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Il faudrait également le source de la classe Personne...

    (Attention, le nom des packages est en minuscules dans les conventions de nommage)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Code de la 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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
     
    package FM;
    public class Personne 
    {
        private int ID_Personne;
        private String Nom, Prenom;    
        private Set SesCoordonnees = new HashSet();
     
        public Personne() {}   
     
        public Personne(String p_Nom, String p_Prenom)
        {
            Nom = p_Nom;
            Prenom = p_Prenom;
     
            SesCoordonnees = p_SesCoordonnees;
        }
     
        // ID_Personne
        public int getID_Personne()
        {
            return ID_Personne;
        }
     
        public void setID_Personne(int p_NouveauID_Personne)
        {
            ID_Personne = p_NouveauID_Personne;
        }
     
        // Nom
        public String getNom()
        {
            return Nom;
        }
     
        public void setNom(String p_NouveauNom)
        {
            Nom = p_NouveauNom;
        }
     
    // Prénom
        public String getPrenom()
        {
            return Prenom;
        }
     
        public void setPrenom(String p_NouveauPrenom)
        {
            Prenom = p_NouveauPrenom;
        }
     
    // SesCoordonnees
        public Set getSesCoordonnees()
        {
            return SesCoordonnees;
        }
     
        public void setSesCoordonnees(Set p_NouveauSesCordonnees)
        {
            SesCoordonnees = p_NouveauSesCordonnees;
        }
    Code de la classe Coordonnées

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
     
    public class Coordonnees 
    {
        private int ID_Coordonnees;
        private String Adresse, Tel, Mail;
        private TypeCoordonnees LeurType;
        private Personne SaPersonne;
     
        public Coordonnees(){}
     
        public Coordonnees(int p_IDCoordonnees, String p_Adresse, String p_Tel,
                           String p_Mail, TypeCoordonnees p_LeurType, Personne p_SaPersonne)
        {        
            Adresse = p_Adresse;      
            Tel = p_Tel;
            Mail = p_Mail;
            LeurType = p_LeurType;
            SaPersonne = p_SaPersonne;
        }
     
        // ID_Coordonnees
        public int getID_Coordonnees()
        {
            return ID_Coordonnees;
        }
     
        public void setID_Coordonnees(int p_NouveauID_Coordonnees)
        {
            ID_Coordonnees = p_NouveauID_Coordonnees;
        }
     
        // Adresse
        public String getAdresse()
        {
            return Adresse;
        }
     
        public void setAdresse(String p_NouveauAdresse)
        {
            Adresse = p_NouveauAdresse;
        }
     
    // Tel
        public String getTel()
        {
            return Tel;
        }
     
        public void setTel(String p_NouveauTel)
        {
            Tel = p_NouveauTel;
        }
     
    // Mail
        public String getMail()
        {
            return Mail;
        }
     
        public void setMail(String p_NouveauMail)
        {
            Mail = p_NouveauMail;
        }
     
        // LeurType
        public TypeCoordonnees getLeurType()
        {
            return LeurType;
        }
     
        public void setLeurType(TypeCoordonnees p_NouveauLeurType)
        {
            LeurType = p_NouveauLeurType;
        }
     
        // SaPersonne
        public Personne getSaPersonne()
        {
            return SaPersonne;
        }
     
        public void setSaPersonne(Personne p_NouvellePersonne)
        {
            SaPersonne = p_NouvellePersonne;
        }

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tu as un problème dans le mapping dans Personne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <set name="SesCoordonnees" inverse="true">
      <key column="ID_Personne"/>
      <one-to-many class="FM.Personne" />
    </set>
    Ce n'est pas un Set d'objet "Personne" mais un Set d'objet "Coordonnees"
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Ok merci de ta réponse mais par contre j'ai toujours ce même problème lorsque la personne n'a pas de coordonnées, ça plante. Comment faire pour obtenir un objet SesCoordonnees = null ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    A ben j'ai rien dit, j'obtiens un objet null. En tout cas merci de tes réponses ;-)

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

Discussions similaires

  1. [Débutant] probléme avec component one
    Par Invité dans le forum VB.NET
    Réponses: 0
    Dernier message: 24/07/2012, 12h21
  2. lister une table avec relation one-to-many
    Par dublow dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 27/10/2010, 10h42
  3. Réponses: 0
    Dernier message: 03/11/2009, 20h46
  4. Problème avec Composite-Id (mapping many-to-many))
    Par ammouna24 dans le forum Hibernate
    Réponses: 0
    Dernier message: 07/05/2009, 11h43
  5. [NHibernate] problème de relation one-to-many
    Par Spikuria dans le forum NHibernate
    Réponses: 1
    Dernier message: 30/04/2009, 14h22

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