Bonjour
C'est sujet plutôt récurrent mais je ne trouve pas la solution qui me convient.
Hibernate.org est indisponible ce qui n'arrange pas mes affaires
J'ai deux tables: client et catégorie
table client:
societe_id, client_id, categorie_id, nom, prenom ...
Ma clé primaire étant: societe_id, client_id
table catégorie:
societe_id, categorie_id, libelle ...
Ma clé primaire étant: societe_id, categorie_id
Le fichier de mapping:
Pour l'association j'ai essayer le code suivant mais ca ne me fait pas exactement ce que je veux ca cela duplique les societe_id
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
35
36 <class name="data.adresse.marketing.Adrmkt_client" table="Adrmkt_client"> <composite-id name="id" class="data.adresse.marketing.Adrmkt_clientId"> <key-property name="societe_id" type="string"> <column name="societe_id" length="1" /> </key-property> <key-property name="client_id" type="string"> <column name="client_id" length="3" /> </key-property> </composite-id> <property name="categorie_id" type="string"> <column name="categorie_id" length="7" not-null="true" /> </property> <property name="nom" type="string"> <column name="nom" length="30" not-null="true" /> </property> </class> <class name="data.adresse.marketing.Adrmkt_categ" table="Adrmkt_categ"> <composite-id name="id" class="data.adresse.marketing.Adrmkt_categId"> <key-property name="societe_id" type="string"> <column name="societe_id" length="1" /> </key-property> <key-property name="categorie_id" type="string"> <column name="categorie_id" length="3" /> </key-property> </composite-id> <property name="abrevCategorie" type="string"> <column name="AbrevCategorie" length="7" not-null="true" /> </property> <property name="intituleCategorie" type="string"> <column name="IntituleCategorie" length="30" not-null="true" /> </property> </class>
En résumé comment utiliser un champ dans une clé primaire ET dans une association ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <many-to-one name="categorie" class="data.adresse.marketing.Adrmkt_categ"> <column name="societe_id2"/> <column name="categorie_id2"/> </many-to-one>
Merci
ps: le fait d'avoir des id composite dans les deux tables sont obligatoire, même si l'intérêt se saute pas aux yeux sur cet exemple.
Partager