Bonjour,
Je cherche à réaliser un one-to-one entre deux classes/tables pour lesquelles je souhaiterais que les clés primaires soient identiques.
Voici l'objet dossier (mapping) qui contient une fiche sécu :
De l'autre côté la fiche sécu (mapping) :
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 <class name="commun.bo.Dossier" table="DOSSIER"> <composite-id> <key-property name="annee" column="ANNEE"/> <key-property name="sequence" column="SEQUENCE"/> <key-many-to-one name="district" class="commun.bo.District" column="NUM_DISTRICT" lazy="false"/> </composite-id> <property name="hasVisaAcc" column="VISA_ACC"/> <property name="hasVisaJur" column="VISA_JUR"/> <property name="isCloture" column="CLOTURE"/> <property name="isSupprime" column="SUPPRIME"/> <one-to-one name="ficheSecu" class="commun.bo.FicheSecu"/> </class> </hibernate-mapping>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <class name="FicheSecu" table="F_SECU"> <composite-id> <key-property name="tempAnnee" column="SEC_ANNEE"/> <key-property name="tempSequence" column="SEC_SEQ"/> <key-property name="tempNumDistrict" column="SEC_DISTRICT"/> </composite-id> [...] </class> </hibernate-mapping>
Mais lorsque j'essaie de remonter une liste de dossier en fonction de champs présent dans sa fiche sécu, j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 org.springframework.orm.hibernate3.HibernateSystemException : Provided id of the wrong type. Expected: class commun.bo.FicheSecu, got class commun.bo.Dossier; nested exception is org.hibernate.TypeMismatchException: Provided id of the wrong type. Expected: class commun.bo.FicheSecu, got class commun.bo.Dossier"
J'ai comme l'impression qu'Hibernate s'enmelle les pinceaux ! Ou bien c'est moi qui a oublié un détail... Mais quoi donc ?
Par avance, merci de votre aide.
Partager