java - 无法在 mysql DB 中保留 1970 年以下的日期

标签 java mysql spring spring-data

我正在将 Spring 与 MySQL DB 一起使用。当我想存储 1969 年之后的日期时,这很好,但低于 1970 年就会抛出错误。错误是 ' com.mysql.jdbc.MysqlDataTruncation:数据截断:日期时间值不正确:第 1 行的“DATEOFBIRTH”列为“1906-09-16 00:00:00”。'

我的域有该字段,

@Column(name = "DATEOFBIRTH", nullable = true, length = 20)
@Setter
@Getter
private Date dateOfBirth;

我使用的是 mysql 连接器 jar 版本 5.1.30。我需要一些建议。

最佳答案

检查您正在使用的列的数据类型。保存日期范围应为 DATETIME '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。

TIMESTAMP 支持的范围为“1970-01-01 00:00:01”UTC 到“2038-01-19 03:14:07”UTC。

这里是文档:http://dev.mysql.com/doc/refman/5.7/en/datetime.html

关于java - 无法在 mysql DB 中保留 1970 年以下的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37651094/

相关文章:

java - Selenium 测试和 emma 代码覆盖率

c# - 我需要开发敏感数据传输/存储/加密系统的建议

java - 如何在 Angularjs 中对字符串进行编码?

java - 禁用 Materialise 框架 "Responsiveness"

java - RESTful 身份验证 - 在高负载下导致性能不佳?

java.lang.NullPointerException Spring Mvc

java - dl4j-0.0.3.3-examples编译错误: can not find symbol while importing a class

php - 如何使用 unlink 功能在 joomla 更新和删除过程中删除文件?并使用取消链接获取要删除的已上传图像?

php - 如何显示日期,但我的数据库类型中的数据是日期时间?

java - 在运行时动态地将 CORS 映射添加到 Rest Controller