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 :

Clé primaire composée avec clé étrangère (Eclipselink)


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut Clé primaire composée avec clé étrangère (Eclipselink)
    Bonjour,

    Je suis assez novice dans l'utilisation de JPA, donc je ne suis pas que ma question aie une réponse...

    J'ai deux entités, Ville et Rue par exemple, et chaque ville ne peut avoir 2 rue du même nom, mais deux villes distinctes peuvent avoir une rue du même nom.

    Ma modélisation se traduit donc par :
    - VILLE {Code Postal, Nom}
    - RUE {Nom, Ville}

    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
     
    @Entity
    @Table(name="VILLE")
    public class Ville {
     
        @Id
        @Column(name = "Code_Postal")
        private String code_postal;
     
        @Column(name = "Nom")
        private String nom;
     
    }
     
    @Entity
    @Table(name="RUE")
    public class Rue {
     
        @Id
        @Column(name = "Nom")
        private String nom;
     
        @Id
        @Column(name = "Ville")
        private String idVille;
     
        @ManyToOne (fetch = FetchType.LAZY)
        @JoinColumns ({@JoinColumn(name="Ville", referencedColumnName="Code_Postal")})
        private Ville ville;
    }
    Autant ma relation semble correcte (pas d'erreur si j'enlève l'attribut idVille)
    Autant ma déclaration de clé primaire est mauvaise.

    Auriez vous des solutions, ou du moins des pistes pour ce qui me semble être un "petit" soucis ?

    Merci d'avance !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 23
    Par défaut
    Ok pour ta classe Ville. Il manque cependant une List<Rue>...
    Voilà ce que je ferais :
    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
     
     
    @Entity
    @Table(name="VILLE")
    public class Ville {
     
        @Id
        @Column(name = "Code_Postal")
        private String code_postal;
     
        @Column(name = "Nom")
        private String nom;
     
        @OneToMany(mappedBy="Ville")
        private List<Rue> rues;
     
    }
    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
     
    @Entity
    @Table(name="RUE")
    @IdClass(name=Rue.RuePK.class)
    public class Rue {
     
     
        public static class RuePK {
     
            @Id
            @Column(name = "Nom")
            private String nom;
     
            @Id
            @Column(name = "Ville")
            private String idVille;
     
            public RuePK() {}
     
            //TODO : mettre les getters et setters
     
        }
     
     
        private String nom;
     
     
     
        private String idVille;
     
        @ManyToOne (fetch = FetchType.LAZY)
        @JoinColumns ({@JoinColumn(name="Ville", referencedColumnName="Code_Postal")})
        private Ville ville;
    }

Discussions similaires

  1. Clé primaire composée de clé étrangère
    Par Birzat dans le forum Doctrine2
    Réponses: 2
    Dernier message: 06/11/2014, 09h57
  2. Réponses: 1
    Dernier message: 14/04/2011, 13h23
  3. Réponses: 1
    Dernier message: 21/10/2009, 16h26
  4. Réponses: 2
    Dernier message: 26/10/2005, 19h57
  5. clé primaire composée de 2 clés étrangères
    Par Tigresse dans le forum Installation
    Réponses: 5
    Dernier message: 28/07/2003, 14h38

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