【发布时间】:2014-05-21 14:33:16
【问题描述】:
我在 Spring 中使用 @Audited 注释来审核我的数据库上的更新、创建等。
但是我在我的数据库中获得了一个比实际时间少 2 小时的日期时间,例如,我创建了一个对象并保存了它,我有创建日期时间:2014-08-04 12: 0 但我是在 14:00 创建的。
这是我的 Auditor 类,每个被审计的类都扩展:
@SuppressWarnings("serial")
@MappedSuperclass
public abstract class AbstractAudit implements Auditable<String, Long>, Serializable {
@Version
private int version;
@JsonIgnore
@Column(updatable=false)
private String createdBy;
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
@DateTimeFormat(iso=ISO.DATE_TIME)
@JsonIgnore
@Column(updatable=false)
private DateTime createdDate;
@JsonIgnore
private String lastModifiedBy;
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
@DateTimeFormat(iso=ISO.DATE_TIME)
@JsonIgnore
private DateTime lastModifiedDate;
//getter and setter method
}
我该如何解决? 我是否在我的项目或服务器(Tomcat 7)上添加了一些配置?
谢谢
【问题讨论】:
-
您是否尝试过询问运行应用程序的操作系统现在几点?如果是 linux 你可以触发“date”命令
-
是的,我服务器上的日期是正确的..
-
如果你在代码中设置断点并打印出日期,它会打印什么时区?这是否与操作系统设置的时区匹配?数据库怎么样?如果时间差两个小时,我怀疑您的系统中的一个认为它是错误的时区,从而进行了一些不正确的计算。
-
我调试网络应用程序的日期时间是正确的..我不知道..
标签: java spring spring-data audit