[hibernate3] Mapping hbm avec clefs primaires composees
Erreur : java.lang.ExceptionInInitializerError
Bonjour.
J'essaie de faire le mapping de 2 tables.
La première a un clef composite à 4 champs :
Code:
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
| <composite-id name="comp_id" class="Prix">
<key-property
name="cdProduit"
column="CD_PRODUIT"
type="java.lang.String"
length="6"
/>
<key-property
name="cdPrix"
column="CD_PRIX"
type="java.lang.String"
length="3"
/>
<key-property
name="dtDebutPrix"
column="DT_DEBUT_PRIX"
type="java.sql.Date"
length="7"
/>
<key-property
name="dtFinPrix"
column="DT_FIN_PRIX"
type="java.sql.Date"
length="7"
/>
</composite-id> |
et la deuxième à 2 champs :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <composite-id name="comp_id" class="Produit">
<key-property
name="cdProduit"
column="CD_PRODUIT"
type="java.lang.String"
length="6"
/>
<key-property
name="lcProduit"
column="LC_PRODUIT"
type="java.lang.String"
length="50"
/>
</composite-id> |
Je voudrais récupérer la liste des produits correspondant à un prix.
J'ai commencé à ajouter un set de Produits dans Prix.
La jointure entre les tables est CD_PRODUIT (plusieurs produits ont le meme CD_PRODUIT, différencié par le LC_PRODUIT, d'ou la clefs composées)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<set
name="produit"
lazy="true"
inverse="false"
cascade="all"
>
<key>
<column name="CD_PRODUIT" />
</key>
<one-to-many
class="Produit"
/>
</set> |
mais ça ne marche pas :
Citation:
PRODUITS [CD_PRODUIT])) must have same number of columns as the referenced primary key (PRIX [CD_PRODUIT,CD_PRIX,DT_DEBUT_PRIX,DT_FIN_PRIX])