-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: association ternaire avec xdoclet
PostPosted: Mon Jun 06, 2005 10:09 am 
Newbie

Joined: Mon Jun 06, 2005 8:36 am
Posts: 8
Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp

Hibernate version: 2.1

Name and version of the database you are using:oracle 9.2

Bonjour,
j'ai trois tables et je souhaite réaliser une table de jointure ne contenant que les id correspondant a mes trois tables.

C'est à dire que pour trois tables:
A -> A_id
B -> B_id
C -> C_id

je souhaite avoir une table A_B_C contenant A_id, B_id et C_id.

Mon probleme est que le doc en ligne de hibernate n'est pas tres clair sur la marche a suivre et que de plus on utilise Xdoclet pour générer les fichier de mapping.

Voila, toute aide sera la bien venue
Merci d'avance.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jun 06, 2005 11:08 am 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
dans A.hbm.xml tu as

<map name"cs" table="asso_table">
<key="a_id" />
<index-many-to-many column="b_id" class="B"/>
<many-to-many colum="c_id" class="C"/>
</map>

en java tu pourras faire myA.getCs().get(myB).

Check la DTD, tu peux placer lazy a deux endroits et ça marche tres tres bien.
Pour XDoclet il doit y avoir qqch sur index-many-to-many.

NB: tu peux inverser B & C selon ce que tu souhaite comme clé / valeur de la Map.

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jun 06, 2005 11:40 am 
Newbie

Joined: Mon Jun 06, 2005 8:36 am
Posts: 8
Merci Anthony,
la jointure marche a un detail près. Elle ne me permet pas d'avoir des elements multiple. Je m'explique:

Pour un A_id je ne peux avoir qu'un seul B_id et C_id, or je souhaite pouvoir avoir plusieurs fois le meme A_id (ou B ou C) avec des B_id et C_id differents.

Si tu vois d'ou vient le probleme....
Merci

Alex


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jun 06, 2005 12:41 pm 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
ce n'est donc pas du ternaire "pur", passe par un composite element

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jun 06, 2005 2:43 pm 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
est ce que la combinaison a_id, b_id, c_id est unique? si oui, la solution que je t'ai donné est la bonne...

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jun 07, 2005 3:33 am 
Newbie

Joined: Mon Jun 06, 2005 8:36 am
Posts: 8
A priori la combinaison A-id,B_id, C_id doit etre unique. Le probleme est que lorsque pour un objet A je definis un lien avec deux objets B et deux objets C, hibernate me crée deux objet A différents donc deux A_id.

Je souhaite avoir:

A_id , B1_id, C1_id et
A_id , B2_id, C2_id

et hibernate me fournit:

A1_id , B1_id, C1_id et
A2_id , B2_id, C2_id.

Voila merci d'avance pour votre aide.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jun 07, 2005 3:44 am 
Newbie

Joined: Mon Jun 06, 2005 8:36 am
Posts: 8
Desolé pour le deragement en fait ça marche comme ça j'avais oublié une ligne dans mon test. Par contre si je souhaite que B et C aient les mêmes connaissance que A, est-ce qu'il me suffit d'ajouter les lignes suivantes ?

dans B.hbm.xml:

<map name"cs" table="asso_table">
<key="b_id" />
<index-many-to-many column="a_id" class="A"/>
<many-to-many colum="c_id" class="C"/>
</map>

dans C.hbm.xml:

<map name"cs" table="asso_table">
<key="C_id" />
<index-many-to-many column="a_id" class="A"/>
<many-to-many colum="b_id" class="B"/>
</map>


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.