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 :

Hibernate Mapping association 0,n - 0,n porteuse de propriété


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut Hibernate Mapping association 0,n - 0,n porteuse de propriété
    Bonjour à tous,

    Voilà j'ai un soucis concernant le mapping sur hibernate , je souhaiterai savoir comment il faut faire pour mapper quand il y'a ce genre d'association car je n'ai pas vu ça en cours ... J'aurai ma classe Symptome et Traitement , il y'a t'il une classe Donner à mettre en place ? Et comment réaliser le mapping ?

    Nom : MCD.PNG
Affichages : 681
Taille : 40,1 Ko

    Nom : MPD.PNG
Affichages : 571
Taille : 29,9 Ko

    Merci d'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Personne pour m'aider ? :-)

  3. #3
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    peut-il avoir pour un symptome 2 type de traitement ou differents durées de traitement?

    Eric

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par jeffray03 Voir le message
    salut,
    peut-il avoir pour un symptome 2 type de traitement ou differents durées de traitement?

    Eric
    Merci Eric déjà d'avoir pris un peu de ton temps pour me répondre , oui effectivement pour un symptome il peut y avoir plusieurs traitements avec des durées différentes.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 250
    Points : 403
    Points
    403
    Par défaut
    Une table de jointure simple entre deux tables représente une relation de type @ManyToMany qui se définirait dans ton cas de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @Entity
    @Table(name="symptome")
    public class Symptome implements Serializable{
     
        // definition de la collection, jointure directe entre "traitement" et "symptome" via "donner"
        @ManyToMany
        @JoinTable(name="Donner",  joinColumns=@JoinColumn(name="idSymptome"),   inverseJoinColumns=@JoinColumn(name="idTraitement")) 
        private List<Traitement> traitements;
     
    }
    Etant donné qu'il y a une colonne "dureeJournaliere" , il faut plutôt créer une entité "Donner" avec une clef primaire composite.
    Goosso modo c'est quelque chose dans ce goût là:
    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
     
    @Embeddable
    public class DonnerPK implements Serializable {
     
       @ManyToOne
       @JoinColumn(name="idTraitement")
       private Traitement traitement;
     
       @ManyToOne
       @JoinColumn(name="idSymptome")
       private Symptome symptome;
     
     
       // surchager equals() et hashCode()
     
    }
     
    @Entity
    @Table(name="donner")
    public class Donner implements Serializable {
     
       @Id
       private DonnerPK id;
     
       @Column(name="dureeJournaliere"
       private Integer duree;
     
    }
    Une fois que c'est fait, il est possible de lier cette entité dans les entités "symptome" et "traitement" avec des collections de type @OneToMany

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    @Entity
    @Table(name="symptome")
    public class Symptome implements Serializable{
     
        @OneToMany
        @JoinColumn(name="idTraitement")
        private List<Donner> listDonner;
     
    }

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Ok merci pour ta réponse claire et précise NoClass ! J'ai pu qu'a essayer.

Discussions similaires

  1. Hibernate - Mapping d'association erroné
    Par Alexandre T dans le forum Hibernate
    Réponses: 1
    Dernier message: 14/05/2008, 14h46
  2. Réponses: 4
    Dernier message: 26/06/2006, 16h16
  3. [Hibernate] Mapping d'association
    Par srvremi dans le forum Hibernate
    Réponses: 2
    Dernier message: 22/01/2006, 04h54
  4. [hibernate] Mapping avec identifiant composé
    Par miky_jo dans le forum Hibernate
    Réponses: 3
    Dernier message: 11/10/2005, 16h48
  5. [JDO]Hibernate : Mapping d'un champ auto-incrémenté
    Par brice.antoine dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/04/2004, 10h36

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