Bonjour à tous,

J'ai un bug qui va me faire devenir chèvre !!

J'ai une classe évènement dont hérite une classe accident et une classe maladie. Les 3 classes ont leur propres tables en base.

voici un extrait du 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
19
20
21
22
 
    <class name="Evenement" table="EVENEMENT">
        <id name="idEvt" type="int">
            <column name="ID_EVT" not-null="true"/>
            <generator class="identity" />
        </id>        
           <...>               
         <joined-subclass name="Maladie" table="MALADIE">
 
        	<key>
        		<column name="EVENEMENT_ID_EVT" not-null="true"/>
        	</key>        	      	
               <...>    
 
	     </joined-subclass>
 
         <joined-subclass name="Accident" table="ACCIDENT">
        	<key>
        		<column name="EVENEMENT_ID_EVT" not-null="true"/>
        	</key>
                <...>        
         </joined-subclass>
Et Voici ce que j'ai comme erreur lors que j'essaie de créer un accident ou une maladie :


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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 
Hibernate: select personne0_.ID_PERSONNE as ID1_24_0_, personne0_.ETAT_CIVIL_ID_ETAT_CIVIL as ETAT2_24_0_, personne0_.SIT_ADMIN_ID_SITUATION as SIT3_24_0_, personne0_.CREANCIER_ID_CREANCIER as CREANCIER4_24_0_, personne0_.REPR_LEGAL_ID_REPRESENTANT as REPR5_24_0_, personne0_.INFO_COMP_ID_COMPL as INFO6_24_0_, personne0_.POPULATION as POPULATION24_0_, personne0_.CAUSE_DECES_ID_N as CAUSE8_24_0_, personne0_.SERVICE_CODE_SERVICE as SERVICE9_24_0_, personne0_.MODIFIEUR_ID_UTILISATEUR as MODIFIEUR10_24_0_, personne0_.CREATEUR_ID_UTILISATEUR as CREATEUR11_24_0_, personne0_.LDAP_CREATEUR as LDAP12_24_0_, personne0_.LDAP_MODIFIEUR as LDAP13_24_0_, personne0_.ID_SIRHEN as ID14_24_0_, personne0_.DATE_MODIF as DATE15_24_0_, personne0_.DATE_CREATION as DATE16_24_0_, personne0_.INSEE as INSEE24_0_, personne0_.NUMEN as NUMEN24_0_, personne0_.DATE_DECES as DATE19_24_0_ from ANAGRAM.PERSONNE personne0_ where personne0_.ID_PERSONNE=?
Hibernate: select invalidite0_.PERSONNE_ID_PERSONNE as PERSONNE2_1_, invalidite0_.ID_INVALIDITE as ID1_1_, invalidite0_.ID_INVALIDITE as ID1_23_0_, invalidite0_.PERSONNE_ID_PERSONNE as PERSONNE2_23_0_, invalidite0_.MODIFIEUR_ID_UTILISATEUR as MODIFIEUR3_23_0_, invalidite0_.CREATEUR_ID_UTILISATEUR as CREATEUR4_23_0_, invalidite0_.LDAP_CREATEUR as LDAP5_23_0_, invalidite0_.LDAP_MODIFIEUR as LDAP6_23_0_, invalidite0_.TAUX_INVALIDITE as TAUX7_23_0_, invalidite0_.MEDECIN as MEDECIN23_0_, invalidite0_.DATE_DECISION as DATE9_23_0_, invalidite0_.COMMENTAIRE as COMMENT10_23_0_, invalidite0_.DATE_MODIF as DATE11_23_0_, invalidite0_.DATE_CREATION as DATE12_23_0_ from ANAGRAM.INVALIDITE invalidite0_ where invalidite0_.PERSONNE_ID_PERSONNE=?
Hibernate: select etatcivil0_.ID_ETAT_CIVIL as ID1_31_0_, etatcivil0_.MODIFIEUR_ID_UTILISATEUR as MODIFIEUR2_31_0_, etatcivil0_.CREATEUR_ID_UTILISATEUR as CREATEUR3_31_0_, etatcivil0_.LDAP_CREATEUR as LDAP4_31_0_, etatcivil0_.LDAP_MODIFIEUR as LDAP5_31_0_, etatcivil0_.NOM_PATRONYMIQUE as NOM6_31_0_, etatcivil0_.NOM_USAGE as NOM7_31_0_, etatcivil0_.PRENOM as PRENOM31_0_, etatcivil0_.CIVILITE_ID_N as CIVILITE9_31_0_, etatcivil0_.DATE_NAISSANCE as DATE10_31_0_, etatcivil0_.ADRESSE_P1 as ADRESSE11_31_0_, etatcivil0_.ADRESSE_P2 as ADRESSE12_31_0_, etatcivil0_.ADRESSE_P3 as ADRESSE13_31_0_, etatcivil0_.CP as CP31_0_, etatcivil0_.VILLE as VILLE31_0_, etatcivil0_.TEL_FIXE as TEL16_31_0_, etatcivil0_.TEL_PORT as TEL17_31_0_, etatcivil0_.MAIL as MAIL31_0_, etatcivil0_.DATE_MODIF as DATE19_31_0_, etatcivil0_.DATE_CREATION as DATE20_31_0_ from ANAGRAM.ETAT_CIVIL etatcivil0_ where etatcivil0_.ID_ETAT_CIVIL=?
Hibernate: select evenements0_.PERSONNE_ID_PERSONNE as PERSONNE23_1_, evenements0_.ID_EVT as ID1_1_, evenements0_.ID_EVT as ID1_0_0_, evenements0_.DATE_MODIF as DATE2_0_0_, evenements0_.DATE_CREATION as DATE3_0_0_, evenements0_.DATE_EVT as DATE4_0_0_, evenements0_.DATE_DECLARATION as DATE5_0_0_, evenements0_.DATE_RECEPTION_DECLARATION as DATE6_0_0_, evenements0_.DATE_CERTIFICAT_INITIAL as DATE7_0_0_, evenements0_.DATE_CLOTURE as DATE8_0_0_, evenements0_.EVT_CLOTURE_ID_N as EVT9_0_0_, evenements0_.COMMENTAIRE_EVT as COMMENT10_0_0_, evenements0_.CIRCONSTANCES as CIRCONS11_0_0_, evenements0_.TEMOIGNAGES as TEMOIGN12_0_0_, evenements0_.PREUVE_MATERIALITE as PREUVE13_0_0_, evenements0_.ELEMENTS_PRESOMPTIONS as ELEMENTS14_0_0_, evenements0_.DEPOT_PLAINTE as DEPOT15_0_0_, evenements0_.ANALYSE as ANALYSE0_0_, evenements0_.ACTION_A_MENER as ACTION17_0_0_, evenements0_.POPULATION as POPULATION0_0_, evenements0_.ETAT_CIVIL_ID_ETAT_CIVIL as ETAT19_0_0_, evenements0_.INFO_COMP_ID_COMPL as INFO20_0_0_, evenements0_.SIT_ADMIN_ID_SITUATION as SIT21_0_0_, evenements0_.RENTE_ID_RENTE as RENTE22_0_0_, evenements0_.PERSONNE_ID_PERSONNE as PERSONNE23_0_0_, evenements0_.MODIFIEUR_ID_UTILISATEUR as MODIFIEUR24_0_0_, evenements0_.CREATEUR_ID_UTILISATEUR as CREATEUR25_0_0_, evenements0_.LDAP_CREATEUR as LDAP26_0_0_, evenements0_.LDAP_MODIFIEUR as LDAP27_0_0_, evenements0_1_.LIB_MALADIE_ID_N as LIB2_1_0_, evenements0_1_.TYPE_MALADIE_ID_N as TYPE3_1_0_, evenements0_2_.CODE_TIERS_ID_N as CODE2_2_0_, evenements0_2_.TYPE_ACCIDENT_ID_N as TYPE3_2_0_, evenements0_2_.LIEU_ACCIDENT_ID_N as LIEU4_2_0_, evenements0_2_.NATURE_ACCIDENT_ID_N as NATURE5_2_0_, evenements0_2_.HEURE_ACCIDENT as HEURE6_2_0_, evenements0_2_.COMMENTAIRE_LIEU as COMMENTA7_2_0_, evenements0_2_.NOM_TIERS as NOM8_2_0_, evenements0_2_.COMMENTAIRE_NATURE as COMMENTA9_2_0_, evenements0_2_.CP_TIERS as CP10_2_0_, evenements0_2_.PRENOM_TIERS as PRENOM11_2_0_, evenements0_2_.ADRESSE1_TIERS as ADRESSE12_2_0_, evenements0_2_.ASSURANCE_TIERS as ASSURANCE13_2_0_, evenements0_2_.RAPPORT_POLICE as RAPPORT14_2_0_, evenements0_2_.VILLE_TIERS as VILLE15_2_0_, evenements0_2_.REDACTEUR_RAPPORT_POLICE as REDACTEUR16_2_0_, evenements0_2_.ADRESSE2_TIERS as ADRESSE17_2_0_, evenements0_2_.ADRESSE3_TIERS as ADRESSE18_2_0_, case when evenements0_1_.EVENEMENT_ID_EVT is not null then 1 when evenements0_2_.EVENEMENT_ID_EVT is not null then 2 when evenements0_.ID_EVT is not null then 0 end as clazz_0_ from ANAGRAM.EVENEMENT evenements0_ left outer join ANAGRAM.MALADIE evenements0_1_ on evenements0_.ID_EVT=evenements0_1_.EVENEMENT_ID_EVT left outer join ANAGRAM.ACCIDENT evenements0_2_ on evenements0_.ID_EVT=evenements0_2_.EVENEMENT_ID_EVT where evenements0_.PERSONNE_ID_PERSONNE=? order by evenements0_.DATE_EVT
Hibernate: insert into ANAGRAM.ETAT_CIVIL (MODIFIEUR_ID_UTILISATEUR, CREATEUR_ID_UTILISATEUR, LDAP_CREATEUR, LDAP_MODIFIEUR, NOM_PATRONYMIQUE, NOM_USAGE, PRENOM, CIVILITE_ID_N, DATE_NAISSANCE, ADRESSE_P1, ADRESSE_P2, ADRESSE_P3, CP, VILLE, TEL_FIXE, TEL_PORT, MAIL, DATE_MODIF, DATE_CREATION, ID_ETAT_CIVIL) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, default)
Hibernate: insert into ANAGRAM.EVENEMENT (DATE_MODIF, DATE_CREATION, DATE_EVT, DATE_DECLARATION, DATE_RECEPTION_DECLARATION, DATE_CERTIFICAT_INITIAL, DATE_CLOTURE, EVT_CLOTURE_ID_N, COMMENTAIRE_EVT, CIRCONSTANCES, TEMOIGNAGES, PREUVE_MATERIALITE, ELEMENTS_PRESOMPTIONS, DEPOT_PLAINTE, ANALYSE, ACTION_A_MENER, POPULATION, ETAT_CIVIL_ID_ETAT_CIVIL, INFO_COMP_ID_COMPL, SIT_ADMIN_ID_SITUATION, RENTE_ID_RENTE, PERSONNE_ID_PERSONNE, MODIFIEUR_ID_UTILISATEUR, CREATEUR_ID_UTILISATEUR, LDAP_CREATEUR, LDAP_MODIFIEUR, ID_EVT) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, default)
2010-1-29 10:36:2,906 java.lang.Thread.java.lang.Thread
2010-1-29 10:36:2,906 Erreur m�thode actions : org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: [fr.edu.ac_dijon.anagram.model.evenement.Accident]; bad SQL grammar [insert into ANAGRAM.EVENEMENT (DATE_MODIF, DATE_CREATION, DATE_EVT, DATE_DECLARATION, DATE_RECEPTION_DECLARATION, DATE_CERTIFICAT_INITIAL, DATE_CLOTURE, EVT_CLOTURE_ID_N, COMMENTAIRE_EVT, CIRCONSTANCES, TEMOIGNAGES, PREUVE_MATERIALITE, ELEMENTS_PRESOMPTIONS, DEPOT_PLAINTE, ANALYSE, ACTION_A_MENER, POPULATION, ETAT_CIVIL_ID_ETAT_CIVIL, INFO_COMP_ID_COMPL, SIT_ADMIN_ID_SITUATION, RENTE_ID_RENTE, PERSONNE_ID_PERSONNE, MODIFIEUR_ID_UTILISATEUR, CREATEUR_ID_UTILISATEUR, LDAP_CREATEUR, LDAP_MODIFIEUR, ID_EVT) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, default)]; nested exception is com.ibm.db2.jcc.a.rm: DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=EVENEMENT_ID_EVT, DRIVER=4.0.100
org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: [Accident]; bad SQL grammar [insert into ANAGRAM.EVENEMENT (DATE_MODIF, DATE_CREATION, DATE_EVT, DATE_DECLARATION, DATE_RECEPTION_DECLARATION, DATE_CERTIFICAT_INITIAL, DATE_CLOTURE, EVT_CLOTURE_ID_N, COMMENTAIRE_EVT, CIRCONSTANCES, TEMOIGNAGES, PREUVE_MATERIALITE, ELEMENTS_PRESOMPTIONS, DEPOT_PLAINTE, ANALYSE, ACTION_A_MENER, POPULATION, ETAT_CIVIL_ID_ETAT_CIVIL, INFO_COMP_ID_COMPL, SIT_ADMIN_ID_SITUATION, RENTE_ID_RENTE, PERSONNE_ID_PERSONNE, MODIFIEUR_ID_UTILISATEUR, CREATEUR_ID_UTILISATEUR, LDAP_CREATEUR, LDAP_MODIFIEUR, ID_EVT) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, default)]; nested exception is com.ibm.db2.jcc.a.rm: DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=EVENEMENT_ID_EVT, DRIVER=4.0.100
com.ibm.db2.jcc.a.rm: DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=EVENEMENT_ID_EVT, DRIVER=4.0.100
	at com.ibm.db2.jcc.a.yc.a(yc.java:579)
	at com.ibm.db2.jcc.a.yc.a(yc.java:57)
	at com.ibm.db2.jcc.a.yc.a(yc.java:126)
	at com.ibm.db2.jcc.a.wk.c(wk.java:1909)
	at com.ibm.db2.jcc.a.wk.d(wk.java:1897)
	at com.ibm.db2.jcc.a.wk.a(wk.java:1424)
	at com.ibm.db2.jcc.t4.db.g(db.java:138)
	at com.ibm.db2.jcc.t4.db.a(db.java:38)
	at com.ibm.db2.jcc.t4.t.a(t.java:32)
	at com.ibm.db2.jcc.t4.sb.h(sb.java:141)
	at com.ibm.db2.jcc.a.wk.P(wk.java:1395)
	at com.ibm.db2.jcc.a.xk.Mb(xk.java:2473)
	at com.ibm.db2.jcc.a.xk.e(xk.java:3113)
	at com.ibm.db2.jcc.a.xk.Bb(xk.java:587)
	at com.ibm.db2.jcc.a.xk.executeUpdate(xk.java:566)
	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:1968)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2405)
	at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:37)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
	at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:269)
	at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:167)
	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:101)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:98)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
	at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:502)
	at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:494)
	at org.hibernate.engine.CascadingAction$1.cascade(CascadingAction.java:134)
	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213)
	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:157)
	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:108)
	at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:290)
	at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:185)
	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:160)
	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:108)
	at org.hibernate.engine.Cascade.cascade(Cascade.java:248)
	at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:130)
	at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:121)
	at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
	at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:500)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:473)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java:267)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
	at $Proxy38.createEvenement(Unknown Source)
	at fr.edu.ac_dijon.anagram.webapp.action.maj.evenement.EvenementCreateAction.create(EvenementCreateAction.java:95)
	at fr.edu.ac_dijon.anagram.webapp.action.maj.evenement.EvenementCreateAction.actions(EvenementCreateAction.java:59)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
	at fr.edu.ac_dijon.anagram.webapp.action.manager.BaseAction.execute(BaseAction.java:298)
	at fr.edu.ac_dijon.anagram.webapp.action.manager.BaseActionDpn.execute(BaseActionDpn.java:26)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at fr.edu.ac_dijon.anagram.webapp.util.CharsetFilter.doFilter(CharsetFilter.java:33)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:619)
29 janv. 2010 10:36:02 org.apache.catalina.core.StandardWrapperValve invoke
Je précise que tout marchait très bien jusqu'au passage d'un generator "increment" à un generator "identity"

Quelqu'un à une idée ??