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

JPA Java Discussion :

Relation ternaire et annotations


Sujet :

JPA Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Par défaut Relation ternaire et annotations
    Bonjour!

    J'aimerais mettre en place une relation ternaire entre 3 objets A,B,C.

    Dans ma base je vais avoir une tableA,tableB,tableC et une tableAssociation qui aura 3 champs a_id,b_id,c_id.

    Là ou je bloque c'est que je ne vois pas du tout comment annoter mes entityA,entityB et entityC. Dois-je créer un classe d'association entityAssociation ?

    ps: je bosse avec sur J2EE 5/JSF/richfaces/facelet/toplink

    merci de votre aide

  2. #2
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    Salut, vous pouvez faire une table intermédiaire d'association.
    pour lasse A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public class A implements Serializable{
    //attributs
    @OneToMany(mappedBy = "a", cascade = { CascadeType.REMOVE })
     private Set<ABC> lesa = new HashSet<ABC>();
     
    //getters and setters et méthodes
    }
    pour la classe B
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class B implements Serializable{
    //attributs
    @OneToMany(mappedBy = "b", cascade = { CascadeType.REMOVE })
     private Set<ABC> lesb = new HashSet<ABC>();
     
    //getters and setters et méthodes
    }
    pour la classe C
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class C implements Serializable{
    //attributs
    @OneToMany(mappedBy = "c", cascade = { CascadeType.REMOVE })
     private Set<ABC> lesc = new HashSet<ABC>();
     
    //getters and setters et méthodes
    }

    Pour la table de jointure :
    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
     
    public class ABC {
    @Embeddable
     public static class Id implements Serializable {
    @Column(name = "A_ID")
     private Long aId;/l'id de A
    @Column(name = "B_ID")
     private Long bId;//l'id de B
    @Column(name = "C_ID")
     private Long cId;//l'id de C
     
    //getters and setters
     
    }
    @EmbeddedId
    private Id id = new Id();
    @ManyToOne
    @JoinColumn(name = "A_ID", insertable = false, updatable = false)
    private A a;
    @ManyToOne
    @JoinColumn(name = "B_ID", insertable = false, updatable = false)
    private B b;
    @ManyToOne
    @JoinColumn(name = "C_ID", insertable = false, updatable = false)
    private C c;
     
    //getters and setters 
    }
    normalement ça devrait suffir.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Par défaut
    en effet je suis arrivé au même résultat en faisant un reverse de ma base de données

    Je vais tester si cela fonctionne bien!

    Merci!!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/08/2009, 10h39
  2. [DC] Relation ternaire
    Par Yann39 dans le forum Diagrammes de Classes
    Réponses: 19
    Dernier message: 21/11/2007, 11h09
  3. Question sur une relation ternaire dans un MCD
    Par sylsau dans le forum Schéma
    Réponses: 5
    Dernier message: 05/03/2006, 20h00
  4. Conception relation ternaire
    Par mezoo dans le forum Schéma
    Réponses: 7
    Dernier message: 12/01/2006, 18h21
  5. Relation ternaire
    Par le Daoud dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 24/11/2004, 20h54

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