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 :

one-to-one bidirectionnel réflexive avec clé composite


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut one-to-one bidirectionnel réflexive avec clé composite
    Bonjour,

    Je dois passer à côté, mais je ne parviens pas à trouver comment déclarer le mapping en XML pour une relation réflexive 0-1.

    Ma table est comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Table 'sample' :
      – clé primaire composite (key1, key2),
      – clés étrangères sample_fkKey1, sample_fkKey2
    Je ne parviens pas à déclarer la relation. Je suppose qu'il faut utiliser un generator mais je ne sais pas trop comment.

    Si quelqu'un a la solution. Voici mon mapping actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <class name="sample" table="sample">
        <composite-id name="id" class="sampleId">
            <key-property name="key1" type="int">
                <column name="key1" />
            </key-property>
            <key-property name="key2" type="int">
                <column name="key2" />
            </key-property>
        </composite-id>
        <one-to-one name="sample" class="sample"/> <— Le nœud du problème
    </class>
    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 160
    Par défaut
    Un truc dans le genre ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <id name="id" column="ID">
       <generator class="foreign">
          <param name="property">ma_prop</param>
       </generator>
    </id>
    Où "ma_prop" est ta référence vers ta classe "maitre", c'est à dire celle qui va être responsable de la génération de l'identifiant commun au one-to-one.

    Je ne suis donc pas sûr que ça fonctionne avec une clé composite.
    Par expérience (modeste) je te conseille d'éviter si possible les clés primaires composites, quitte à ajouter une colonne technique en base. ça t'enlèvera quelques soucis.

Discussions similaires

  1. [Web Services] convertir mon Class avec many to one et one to many attributs to json
    Par souha Ayachi dans le forum Spring
    Réponses: 0
    Dernier message: 15/04/2015, 13h34
  2. Réponses: 3
    Dernier message: 04/05/2014, 14h05
  3. Réponses: 0
    Dernier message: 05/03/2012, 15h18
  4. relation many-to-one avec clefs composites
    Par Foub dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/09/2007, 14h33
  5. [Hibernate][one-to-one] clé etrangère avec des blancs
    Par seb_fou dans le forum Hibernate
    Réponses: 1
    Dernier message: 06/04/2006, 10h28

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