bonjour,
j'ai actuellement un problème de sauvegarde de données du a hibernate, j'explique le pourquoi :
mon système récupère plusieurs objets dans la base, par exmple:
case
person
pour ces objets j'ai créé un case.hbm.xml et un person.hbm.xml qui indique quel attribut doivent être récupéré dans la base sur les table T_CASE et T_PERSON (respectivement).
jusqu'a présent tout fonctionne bien, j'arrive a faire toute les opérations (sauvegarde et récupération de données).
maintenant je veux ajouter un objet summaryCase qui est un sous ensemble de l'objet case.
ci joint une partie des deux fichiers case et summarycase.hbm.xml pour mieux comprendre:
et pour le summarycase
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 <class name="TCase" table="T_CASE"> <id name="id" column="ID" type="java.lang.Integer"> <generator class="sequence"> <param name="sequence">seq_case</param> </generator> </id> <property name="cseTechnicalState" column="CSE_TECHNICAL_STATE" type="java.lang.String" /> <property name="cseRefNb" column="CSE_REF_NB" type="java.lang.String" /> <property name="cseAfisMsgRef" column="CSE_AFIS_MSG_REF" type="java.lang.String" /> <property name="cseAfisModRef" column="CSE_AFIS_MOD_REF" type="java.lang.String" /> <property name="cseType" column="CSE_TYPE" type="java.lang.String" /> <property name="cseDomain" column="CSE_DOMAIN" type="java.lang.String" /> <property name="cseOpenedOn" column="CSE_OPENED_ON" type="java.util.Date" /> <property name="cseMemo" column="CSE_MEMO" type="java.lang.String" /> <property name="cseStatus" column="CSE_STATUS" type="java.lang.String" /> <property name="csePeriodFrom" column="CSE_PERIOD_FROM" type="java.util.Date" /> <property name="csePeriodTo" column="CSE_PERIOD_TO" type="java.util.Date" /> <property name="cseTransCen" column="CSE_TRANS_CEN" type="java.lang.String" /> <property name="cseCommLang" column="CSE_COMM_LANG" type="java.lang.String" /> <property name="cseInvestigFldCode" column="CSE_INVESTIG_FLD_CODE" type="java.lang.String" /> <property name="cseInvestigSubmDate" column="CSE_INVESTIG_SUBM_DATE" type="java.util.Date" /> <property name="cseInvestigStartDate" column="CSE_INVESTIG_START_DATE" type="java.util.Date" /> <property name="creUsr" column="CSE_CRE_USR" type="java.lang.String" not-null="true" /> <property name="creDate" column="CSE_CRE_DATE" type="java.util.Date" not-null="true" /> <property name="modUsr" column="CSE_MOD_USR" type="java.lang.String" not-null="true" /> <property name="modDate" column="CSE_MOD_DATE" type="java.util.Date" not-null="true" />
je n'ai pas besoin en effet de récuperer un case complet dans certain cas mais juste un summarycase.
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 <class name="TSummaryCase" table="T_CASE"> <id name="id" column="ID" type="java.lang.Integer"> <generator class="sequence"> <param name="sequence">seq_summary_case</param> </generator> </id> <property name="cseRefNb" column="CSE_REF_NB" type="java.lang.String" /> <property name="cseType" column="CSE_TYPE" type="java.lang.String" /> <property name="cseDomain" column="CSE_DOMAIN" type="java.lang.String" /> <property name="cseOpenedOn" column="CSE_OPENED_ON" type="java.util.Date" /> <property name="cseStatus" column="CSE_STATUS" type="java.lang.String" /> <property name="cseCommLang" column="CSE_COMM_LANG" type="java.lang.String" /> <property name="creUsr" column="CSE_CRE_USR" type="java.lang.String" not-null="true" /> <property name="creDate" column="CSE_CRE_DATE" type="java.util.Date" not-null="true" /> <property name="modUsr" column="CSE_MOD_USR" type="java.lang.String" not-null="true" /> <property name="modDate" column="CSE_MOD_DATE" type="java.util.Date" not-null="true" /> </class> </hibernate-mapping>
après quelques test j'arrive a récupérer ce que je veux (case et summarycase)
mais lorsque je tente de sauver un case (et juste le case car je n'utilise pas de summarycase lors de la création) le système me jette une erreur du stylema question :multiple classes map to one table T_CASE
existe t'il un moyen d'empécher hibernate de voir summarycase comme un objet a sauvegarder ? car la il essaye de sauvegarder un attribut de case et vois deux référence d'ou l'erreur.
merci d'avance
Partager