zeroDateTimeBehavior = convertToNull在使用休眠的jdbc url中不起作用

时间:2019-04-29 14:02:49

标签: java mysql hibernate jdbc mariadb

通过外部属性文件url指定如下 jdbc:mariadb:// xxxxx:3306 / xxxxx?zeroDateTimeBehavior = convertToNull

连接工作正常,并且能够查询数据库。 通过休眠,我创建了一个实体,该实体映射到带有日期列的表。如果未指定日期,则默认插入零日期(0000-00-00)。 当我从日期为零的实体中获取日期时,它给出的日期显示为00002-10-02,原因是Java日期无法处理零的年或月/日。

zeroDateTimeBehavior = convertToNull应该可以处理此问题并返回空值,这样我就可以正确处理这些情况,而不会错误地返回一个完全错误的日期。

我已经阅读了大约50个论坛主题,但找不到解决方案。 让我知道是否可以提供更多信息。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用zeroDateTimeBehavior = CONVERT_TO_NULL,这对我有用。

我也从文档中发现了这一点: https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html

{{1}}