Problème de Mapping d'une clé étranger
Bonjour tout le monde,
J'ai fait un mapping de ma BD avec un plugin (MyEclipse) et J'ai un probleme avec le mapping d'une clé étranger entre deux table.
Une table X avec une clé primaire XID sachant que XID est une classe généré avec mon plugin et qui contient toutes les colonnes de la table X.
et une table Y qui référence à la clé primaire de la table X comme clé étranger.
quand j'exécute mon exemple j'obtient l'exception suivante :
Code:
1 2 3 4 5 6 7 8 9
|
Caused by: org.hibernate.MappingException: Foreign key (FKB8DCB6CF723F2E2:idconv [GBAGCDAG])) must have same number of columns as the referenced primary key (gb2agen [GBAGCDAG,GBAGSOAG,GBAGEFPA,GBAGAFFS,GBAGCDAL,GBAGACSA,GBAGNUPR,GBAGDTPR,GBAGSOES,NUMIDE,GBAGDTIN,GBAGDTFI,GBAGCDRA])
at org.hibernate.mapping.ForeignKey.alignColumns(ForeignKey.java:90)
at org.hibernate.mapping.ForeignKey.alignColumns(ForeignKey.java:73)
at org.hibernate.cfg.Configuration.secondPassCompileForeignKeys(Configuration.java:1145)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1052)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1168)
at com.cpa.spi.dao.persona.HibernateUtil.<clinit>(HibernateUtil.java:20)
... 4 more |
Le probleme à mon avis est dans le code suivant du fichier hbm de la table Y :
Code:
1 2 3 4
|
<many-to-one name="gb2agenByGbagcdag" class="AgentPolicia" fetch="select">
<column name="GBAGCDAG" length="6" />
</many-to-one> |
je croix que ce code fait référence à une clé primaire comme etant une colonne alors qu'elle dois se faire à la classe XID.
Est ce que j'ai raison dans ce que j'ai dis ? et si oui comment je peut corriger ce probleme.
Merci d'avance.