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 :

mapping jointure avec 3 classes


Sujet :

Hibernate Java

  1. #1
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut mapping jointure avec 3 classes
    Bonjour,

    Voilà j'ai 3 classes que l'on nommera C1, C2, C3.
    Avec les tables correspondantes C1, C2, C3.

    Chacune est composé de 1 id et de 1 description. C1 à en plus un set (collection) de C2, et un set (collection) de C3

    Jusque la aucun probleme
    Le probleme est que ces 3 tables sont liés par une table "ALL" qui contient l'id de C1, de C2 et de C3.

    Donc le mapping simple de C1, C2, C3 j'y arrive. Mais mon probleme est le mapping, pour prendre en compte les liaisons via la table "ALL" pour récupérer les collections de C2 et C3.

    Je n'ai aucune idée de comment le faire, j'ai essayé ceci mais ca ne marche 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
    21
    22
    23
    24
    25
    26
    27
    28
    <hibernate-mapping>
     
    	<class name="C1" table="C1">
     
    		<id name="id" type="long" column="C1ID">
    			<generator class="sequence">
                    <param name="sequence">c1_id_seq</param>
                </generator>
    		</id>
     
    		<property name="description" column="DESC" type="string" />
     
    		<set name="c2" table="C2" >
    			<key column="C1ID"/>
    			<key column="C3ID"/> //La ca coince dans le mapping, erreur
    			<many-to-many column="C2ID" unique="true" class="C2"/>
    		</set>
     
    		<set name="c3" table="C3" >
    			<key column="C1ID"/>
    			<key column="C2ID"/>//La ca coince dans le mapping, erreur
     
    			<many-to-many column="C3ID" unique="true" class="C3"/>
    		</set>
     
    	</class>
     
    </hibernate-mapping>

    Merci pour votre aide car je ne trouve pas d'exemple avec 2 collections sur une meme table de jointure. Toujours une collection vers une table de jointure.

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    En faite je viens de comprendre mon probleme, mais il n'est toujours pas résolu,

    Dans C1, je dois avoir une Map contenant des C2 (en clé et comme value une liste de C3), en gros HashMap<C2, ArrayList<C3>> (pour ceux qui sont plus haut que 1.4, ;-)

    Enfin je sais pas si c'est meilleur que ce que j'avais avant.

    Le truc c'est que je peux avoir ceci pôur un C1 donné: (_X est l'id de la classe en question)

    C1_1, C2_1, C3_1
    C1_1, C2_1, C3_2
    C1_1, C2_1, C3_3
    C1_1, C2_2, C3_1
    C1_1, C2_2, C3_2
    C1_1, C2_2, C3_3

  3. #3
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    C'est bon les gars je me suis débrouillé. A croire qu'a chaque fois que j'ai un probleme personne ne l'a deja eu, .
    Je suis obligé de resoudre tous mes problemes tout seul la plus part du temps....


    Bon alors pour information quand meme, c'est le but d'un forum:

    Map de list n'est pas possible d'après ce que j'ai pu lire.
    Donc j'ai fait une map contenant, (c2_1, C3_1), (c2_1, c3_2), etc dans la classe c1!

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/03/2012, 16h28
  2. map::find avec des classes perso
    Par regisportalez dans le forum SL & STL
    Réponses: 3
    Dernier message: 28/06/2010, 12h35
  3. Problème avec la classe Map
    Par djorfe dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 10/06/2008, 10h10
  4. Réponses: 4
    Dernier message: 15/10/2006, 19h05
  5. Réponses: 5
    Dernier message: 26/05/2005, 16h40

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