Mysql 升级到 5.6 后插入语句时间字段报错:Incorrect datetime value: '' for column 'createtime'

    项目之前一直都用得好好的,最近将数据库 mysql 升级到到 5.6 后, 我使用 Hibernate 3.6 新增记录时,如果包含 Date 类型的字段,则会报错,主要错误信息如下:

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'createtime' at row 1...

    经过在网上一番搜索,最终找到了问题解决方案: 更新 mysql-connector-java.jar 到较新版本, 于是我将该 jar 包由原来的 5.0.4 更新到 5.1.27,更新后重启服务,结果悲剧了,查询的时候报错了,提示“column 'ID' not found...”, 说是 ID 字段找不到,但数据库的结构从来没有修改过,该字段也确确实实是存在的,所以可以肯定这个问题的产生是因为刚才更新了 mysql-connector-java.jar 包造成的,于是乎继续搜索问题解决方案, 还真有人遇到和我一样的问题了, 说是只需在 jdbc.url 后面加上“ &useOldAliasMetadataBehavior=true” 即可, 赶紧试试,  经验证还真是这个问题, 而且之前的那日期字段的问题也不再出现了,问题完美解决!

你可能感兴趣的:(javaWeb)