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()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

python内置模块datetime.time类详细介绍

​​​​​​​Python的datetime模块是一个强大的日期和时间处理库,它提供了多个类来处理日期和时间。主要包括几个功能类datetime.date、datetime.time、datetime.datetime、datetime.timedelta,datetime.timezone等。 ----------动动小手,非常感谢各位的点赞收藏和关注。----------- 使用datet

15 组件的切换和对组件的data的使用

划重点 a 标签的使用事件修饰符组件的定义组件的切换:登录 / 注册 泡椒鱼头 :微辣 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'