java - 为什么JPA似乎提前12小时持久化java.util.Date()

标签 java mysql jpa eclipselink

这个问题有多种变体,但我正在努力寻找解决我的问题的方法。

我有一个基于 JPA、Eclipselink 和 MySQL 的应用程序。当在特定表中添加或更新记录时,使用 new java.util.Date() 将“更新”日期字段设置为现在。

这是我的实体类上的字段:

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "Updated", unique = false, nullable = true)
private Date updated;

简单地设置如下:

record.setUpdated(new Date());

出于某种原因,数据库中设置的日期似乎总是比现在提前 12 小时?

我考虑了 AM/PM 转换、时区问题并检查了服务器时间,但一切似乎都正常。

抱歉,如果这很简单,但我有点迷失了!

最佳答案

检查服务器的jvm选项中是否设置了-Duser.timezone。如果设置了,则检查它的值。

关于java - 为什么JPA似乎提前12小时持久化java.util.Date(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42527004/

相关文章:

java - 如何在 JPA 中使用枚举

java - Android从sqlite数据库中获取多个项目

java - 新的 LatLngBounds 方法

java - json post请求java不发送数据到服务器

java - 正则表达式查找一个单词(如果它呈现 java)

java - JSP 迭代继承的用户定义类

php - 在 mysql 中选择 GROUP_CONCAT

mysql - 错误代码 : 1006. 无法创建数据库 'mmmm'(错误号:2)

java - BeanFieldGroup,在 ComboBox 中绑定(bind) List<String>?

java - JPA 实体及其自定义功能