java.sql.SQLException: Zero date value prohibited:禁止零日期值。
使用JPA检索数据库表中日期字段时报此错误,去数据库表中查询该日期字段,发现有 0000-00-00 00:00:00 的值,随机更新一个时间后不再报错。
解决方法:
1、修改日期为 0000-00-00 00:00:00 的字段值,根据实际情况设置为 null 或 其他日期
2、在 jdbcUrl 中设置对应的对策
driver-url=jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=CONVERT_TO_NULL
补充:MySql文献资料:https://dev.mysql.com/doc/
zeroDateTimeBehavior
What should happen when the driver encounters DATETIME values that are composed entirely of zeros (used by MySQL to represent invalid dates)? Valid values are "EXCEPTION", "ROUND" and "CONVERT_TO_NULL".
官方文档:当遇到完全由零组成的DATETIME值时,有三种有效值:EXCEPTION,ROUND,CONVERT_TO_NULL
EXCEPTION:默认值,抛出异常
ROUND:将值替换为0001-01-01
CONVERT_TO_NULL:将值转换为 null