通过外部属性文件url指定如下 jdbc:mariadb:// xxxxx:3306 / xxxxx?zeroDateTimeBehavior = convertToNull
连接工作正常,并且能够查询数据库。 通过休眠,我创建了一个实体,该实体映射到带有日期列的表。如果未指定日期,则默认插入零日期(0000-00-00)。 当我从日期为零的实体中获取日期时,它给出的日期显示为00002-10-02,原因是Java日期无法处理零的年或月/日。
zeroDateTimeBehavior = convertToNull应该可以处理此问题并返回空值,这样我就可以正确处理这些情况,而不会错误地返回一个完全错误的日期。
我已经阅读了大约50个论坛主题,但找不到解决方案。 让我知道是否可以提供更多信息。谢谢。
答案 0 :(得分:0)
尝试使用zeroDateTimeBehavior = CONVERT_TO_NULL,这对我有用。
我也从文档中发现了这一点: https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html
{{1}}