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 :

annotations pour une clé primaire composée de 2 clés externes


Sujet :

JPA Java

Vue hybride

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut annotations pour une clé primaire composée de 2 clés externes
    J'ai une table qui contient deux clés étrangeres qui constituent la cle primaire de la table (cas classique).

    Pour mon mapping j'anote comme ceci :

    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
     
     
    @Entity
    @Table(name="maTable")
    class MaClass{
     
    private int cle1;
     
    private int cle2;
     
    @Id
    @Column(name="maColonne1")
    public int getCle1(){
    return this.cle1;
    }
     
    @Id
    @Column(name="maColonne2")
    public int getCle2(){
    return this.cle1;
    }
     
    ...
    Je ne pense pas que ce soit exact, que faut il faire alors?

    merci

  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
    Billets dans le blog
    1
    Par défaut
    Non, effectivement, ce n'est pas comme ceci.
    Il faut créer une classe MaClasseId qui contient tes 2 clés étrangères et dans MaClasse avoir une référence de type MaClasseId (avec l'annotation @Id)

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

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut
    Je dois donc avoir 4 classes là où il n'y a que 3 tables?

  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
    Billets dans le blog
    1
    Par défaut
    Ben oui...
    Dans la norme, la clé doit être représentée par un objet unique, d'ailleurs si ça n'était pas le cas, ce serait plus gênant qu'autre chose.
    Imagine ce que deviendrait la signature de la méthode find(Class<T> t, Object o)... ce serait dans un cas Class<T> c, Object o1, Object o2, ... Object on)
    Pas gérable...

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

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut
    Est ce que je pourrais avoir un exemple abstrait ?

    Car je ne sus pas trop a l'aise avec les annotations ...

    merci

  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
    Billets dans le blog
    1
    Par défaut
    Voici un exemple (généré par un outil)

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

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

Discussions similaires

  1. [EJB3 Entity] Problème avec les annotations pour une List d'Enum
    Par uiscias dans le forum Java EE
    Réponses: 2
    Dernier message: 31/03/2009, 17h09
  2. Une clé primaire composée
    Par secondechance dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2008, 13h55
  3. Réponses: 3
    Dernier message: 18/04/2008, 14h28
  4. Réponses: 4
    Dernier message: 04/01/2008, 22h34
  5. [Oracle] modification d'une clé primaire composée
    Par petburn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2006, 15h58

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