首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试持久化已使用毫秒参数初始化的日期时出现MysqlDataTruncation异常

尝试持久化已使用毫秒参数初始化的日期时出现MysqlDataTruncation异常
EN

Stack Overflow用户
提问于 2019-02-15 22:40:43
回答 1查看 87关注 0票数 0

我正在尝试创建一个与当前时间相差几年的日期。我是这样做的:

代码语言:javascript
复制
new Date(Math.abs(System.currentTimeMillis() - 94670778000L));

但是,由于某种原因,日期的年份部分变成了某个随机的未知数,导致jvm抛出MysqlDataTruncation异常。这是完整的消息:

代码语言:javascript
复制
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '55106056-02-25 05:40:34.461' for column 'lastSeenOnline' at row 1

根据serhii在这里的帖子:Data truncation: Incorrect datetime value: ''我应该将@Temporal注释从TemporalType.TIMESTAMP改为TemporalType.TIME。这确实有帮助,但只是因为省略了日期部分,所以这不是我正在寻找的解决方案。

有人能告诉我我哪里做错了吗?我只是通过毫秒构造函数初始化一个新的日期,它应该可以工作,但由于某些原因它不能工作。

EN

回答 1

Stack Overflow用户

发布于 2019-02-16 01:31:34

仍然不确定是什么导致了它,但是从可嵌入类中删除引起问题的字段,并将其放在使用可嵌入类的类中解决了问题。因此,对于任何面临同样问题的人来说,不要在可嵌入的类中使用@Temporal。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54711622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档