java – 获取异常,如“无法将值’0000-00-00 00:00:00’从第12列转换为TIMESTAMP”

前端之家收集整理的这篇文章主要介绍了java – 获取异常,如“无法将值’0000-00-00 00:00:00’从第12列转换为TIMESTAMP”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以前列数据类型是Date,现在我更改为Timestamp
现在如果我试图运行程序,我们得到他们的例外

java.sql.sqlException:无法将值“0000-00-00 00:00:00”从第12列转换为TIMESTAMP.
在com.MysqL.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1298)
在com.MysqL.jdbc.ByteArrayRow.getTimestampFast(ByteArrayRow.java:124)
在com.MysqL.jdbc.ResultSetImpl.getTimestampInternal(ResultSetImpl.java:6610)
在com.MysqL.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:5928)
在com.MysqL.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:5966)
在org.hibernate.type.TimestampType.get(TimestampType.java:30)
在org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
在org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
在org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
在org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2096)
在org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
在org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
在org.hibernate.loader.Loader.getRow(Loader.java:1206)
在org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
在org.hibernate.loader.Loader.doQuery(Loader.java:701)
在org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
在org.hibernate.loader.Loader.doList(Loader.java:2220)
… 40多

解决方法

0000-00-00 00:00:00超出了TIMESTAMP值的范围(实际上它也不适用于DATE字段).从 MySQL manual

The TIMESTAMP data type has a range of ‘1970-01-01 00:00:01’ UTC to ‘2038-01-19 03:14:07’ UTC.

原文链接:https://www.f2er.com/java/122705.html

猜你在找的Java相关文章