Data truncation: Incorrect datetime value: '' for column 'EVENT_DATE' at row 1

2024-05-31 15:58

本文主要是介绍Data truncation: Incorrect datetime value: '' for column 'EVENT_DATE' at row 1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

hibernate执行到session.getTransaction().commit();是报异常:

Data truncation: Incorrect datetime value: '' for column 'EVENT_DATE' at row 1


找了好久,终于找到问题了,记录一下:

我使用的jdk是1.8,hibernate是4.2,mysql-connector是3.1,结果运行下面代码


		// 读取hibernate.cfg.xml文件Configuration cfg = new Configuration().configure();// 建立SessionFactorySessionFactory sessionFactory = cfg.buildSessionFactory();Session session = sessionFactory.openSession();session.beginTransaction();session.save(new Event("b very first event!", new Date()));session.save(new Event("A follow up event", new Date()));session.getTransaction().commit();session.close();


执行到session.getTransaction().commit();这行就会报异常:

Exception in thread "main" org.hibernate.exception.DataException: could not execute statementat org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:71)at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:189)at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:59)at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3079)at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3521)at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:395)at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:387)at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:303)at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:349)at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1195)at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)at com.struts.user.service.EventService.main(EventService.java:27)
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'EVENT_DATE' at row 1at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2973)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1129)at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:681)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1368)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1283)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1268)at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:186)... 14 more


查了下说是因为我的mysql-connector的jar包不匹配造成的,于是我将

mysql-connector-java-3.1.14-bin.jar

换成

mysql-connector-java-5.0.8-bin.jar

异常就消失了






这篇关于Data truncation: Incorrect datetime value: '' for column 'EVENT_DATE' at row 1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018377

相关文章

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

解读@ConfigurationProperties和@value的区别

《解读@ConfigurationProperties和@value的区别》:本文主要介绍@ConfigurationProperties和@value的区别及说明,具有很好的参考价值,希望对大家... 目录1. 功能对比2. 使用场景对比@ConfigurationProperties@Value3. 核

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详