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 :

annotations et clés composites


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 45
    Par défaut annotations et clés composites
    bonjour,
    je cherche à constituer une clé composite mais je ne m'en sors pas ...
    j'ai 2 tables :
    table A :
    keyA
    valA1
    valA2

    table B :
    keyA
    valB1
    valB2
    dans table B, la clé est composée de keyA (clé de la table A) + valB1 et pour chaque clé (keyA+valB1), j'ai une valeur valB2

    j'ai tenté d'utiliser comme suit @Embeddable et @EmbeddedId mais je ne m'en sors pas ...

    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
    @Entity
    public class B implements Serializable {
    @EmbeddedId
    @AttributeOverride(name="keyA", column=@Column(name="keyA"))
    private keyB myKey;
     
    @Column(name = "VALUE", length = 20)
    private String valB2;
     
     
     
    @Embeddable
    class keyB implements Serializable {
    @ManyToOne(cascade=CascadeType.ALL)
    @JoinTable(name = "tableA")
    @JoinColumn(name="keyA", unique = true)
    private String keyA;
     
     
    private String valB1;

    une idée de la solution avec les annotations ?
    merci d'avance de vos lumières !

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par BenHoit Voir le message
    @ManyToOne(cascade=CascadeType.ALL)

    private String keyA;
    [/CODE]

    Pour commencer @ManyToOne doit être mise sur un champ dont la classe est une @Entity et pas sur un champ du type de la PK de la classe que l'on veut référencer.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 45
    Par défaut
    certes !
    merci pour ce début de réponse mais ça ne me dit pas vraiment comment faire (en fait, de ce que je comprends de la doc, ce n'est pas un standard JPA mais hibernate permet tout de même de le faire ...) ?
    donc si qqun a une idée, je suis toujours preneur !

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    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
    public class EntityA {
    @Id
    private String key ;
     
    }
     
    @Entity
    @IdClass(EntityBId.class)
    public class EntityB {
    @Id
    private String key ;
     
    @ManyToOne
    @Id
    private EntityA entA ;
     
     
    }
     
    public class EntityBId {
    private String key;
    private EntityA entA;
     
    public EntityBId() {}
     
    public EntityBId(String inKey, EntityA inEntityA) {
    this.key = inKey ;
    this.entA = inEntityA ;
    }
     
    …
    }

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 45
    Par défaut
    ça me parait effectivement nickel !
    je potassais sur un bouquin en même temps (Pro JPA2 Mastering the java persistence API) et je partais également dans cette direction !

    Merci bcp

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

Discussions similaires

  1. Transformation ou conservation de clés composites
    Par supertux54 dans le forum Modélisation
    Réponses: 3
    Dernier message: 16/04/2014, 10h54
  2. PK Clés composites remplacées par PK
    Par rgomes dans le forum DB2
    Réponses: 7
    Dernier message: 23/03/2012, 07h47
  3. FetchType.LAZY et clés composites
    Par zaboug dans le forum Hibernate
    Réponses: 4
    Dernier message: 19/07/2011, 11h56
  4. [C#] Probleme sur les clés primaires composites
    Par stardeus dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/02/2005, 23h28
  5. clés composites
    Par Yuna dans le forum Administration
    Réponses: 12
    Dernier message: 08/01/2004, 09h14

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