Bonjour,

J'ai un problème dans mon application qui m'empêche d'insérer des lignes dans ma base de données. C'est donc une application en Java Web que je reprends. Donc elle a été développée auparavant et actuellement elle fonctionne. J'ai donc récupéré le code source et j'essaie de le faire marcher correctement sur ma machine, ce qui n'est pas chose simple vu toutes les configurations que demande Java, le serveur et Hibernate.

Afin de voir les requêtes sql qui sont générées par Hibernate, j'ai utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<property name="show_sql">true</property>
		<property name="format_sql">true</property>
De plus, pour avoir toutes les infos, j'ai modifié le fichier log4j.properties afin d'afficher toutes les "trace". Lorsque je fais ma manip dans mon application, j'ai cette exception qui se créée :

Hibernate:
insert
into
PersistanceSimulation
(nomFichierXls, listeNomSystCulture, messageErreur, nomSimulation, descriptionSimulation, dateLancement, dateFin, region_id, etatAvancement, utilisateur_id, fichierXls, scenarioEconomique_id, scenarioEcoIdentique, scenarioClimIdentiques, stationMeteo_id, nbIteration, id)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
15:31:06,416 TRACE StringType:64 - binding null to parameter: 1
15:31:06,416 TRACE TextType:64 - binding 'Liste des systÞme de culture:<br> systemeDeCultureToulouse' to parameter: 2
15:31:06,417 TRACE TextType:64 - binding null to parameter: 3
15:31:06,417 TRACE StringType:64 - binding 'jhk' to parameter: 4
15:31:06,417 TRACE TextType:64 - binding '' to parameter: 5
15:31:06,418 TRACE TimestampType:64 - binding '2016-01-25 15:31:06' to parameter: 6
15:31:06,419 TRACE TimestampType:64 - binding null to parameter: 7
15:31:06,419 TRACE StringType:64 - binding '402881372dc2abba012dc2ba4c130003' to parameter: 8
15:31:06,420 TRACE SerializableType:64 - binding '2c6d8085fef280cfe6f2aee9eef2e1aee7f2e9e7eeefeeaef0e5f2f3f9f3f4aee3efededefeeaee2efaed0e5f2f3e9f3f4e1eee3e5d3e9edf5ece1f4e9efeea4c5f4e1f4c1f6e1eee3e5ede5eef4d3e9edf5ecc5eef5ed8080808080808080928080f8f2808eeae1f6e1aeece1eee7aec5eef5ed8080808080808080928080f8f0f4808ac5cedfc1d4d4c5ced4c5' to parameter: 9
15:31:06,420 TRACE StringType:64 - binding '0ae60f492e2ec56b012e2f61548001ed' to parameter: 10
15:31:06,421 TRACE BinaryType:64 - binding null to parameter: 11
15:31:06,421 TRACE StringType:64 - binding null to parameter: 12
15:31:06,421 TRACE BooleanType:64 - binding 'false' to parameter: 13
15:31:06,422 TRACE BooleanType:64 - binding 'false' to parameter: 14
15:31:06,422 TRACE StringType:64 - binding null to parameter: 15
15:31:06,422 TRACE IntegerType:64 - binding '0' to parameter: 16
15:31:06,422 TRACE StringType:64 - binding '4028e470527930af0152793201920001' to parameter: 17
15:31:06,439 WARN JDBCExceptionReporter:191 - SQL Error: 0, SQLState: 22001
15:31:06,440 ERROR JDBCExceptionReporter:225 - Data truncation: Incorrect datetime value: '' for column 'dateLancement' at row 1
15:31:06,443 ERROR AbstractFlushingEventListener:248 - Could not synchronize database state with session
org.hibernate.exception.DataException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:100)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2688)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at fr.inra.grignon.persyst.web.servlet.DoResultats.doPost(DoResultats.java:400)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.BatchUpdateException: Data truncation: Incorrect datetime value: '' for column 'dateLancement' at row 1
at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:665)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 38 more
Il n'y a pas de problème de connexion à la base de données car quand je me connecte en tant qu'utilisateur, la requête de sélection se fait bien. De plus, il n'y a pas non plus d'erreur dans le code vu que c'est le code source qui fonctionne en production mais pas sur ma machine. Il y a donc sûrement un problème dans les configs d'hibernate, que j'ai dû mal faire mais je ne vois pas ce que ça peut être. J'ai également essayé d'écrire directement la requête sql dans phpmyadmin, et elle insère bien la ligne dans la table.

Quelqu'un pourrait m'indiquer d'où cette erreur peut provenir ? Merci d'avance.