我在我的 Java 项目中使用 JPA,时间戳不是很好:它只显示 2015-08-12 00:00:00.0(日期正确但时间不正确)
@Entity
public class Session implements Serializable {
..
@Temporal(TemporalType.DATE)
private Date timestamp;
..
public Session(String sessionId) {
super();
this.sessionId = sessionId;
this.timestamp = new Date();
}
public Session() {
super();
this.timestamp = new Date();
}
}
你知道如何解决这个问题吗?
最佳答案
你应该使用 TemporalType.TIMESTAMP这会将字段映射到 java.sql.Timestamp ,因此它还将包含与时间相关的信息,而不仅仅是关于日期。相比之下,您使用的类型 TemporalType.DATE映射到 java.sql.Date , 包含日、月、年等信息的类。
因此,您的代码将转换为:
@Entity
public class Session implements Serializable {
..
@Temporal(TemporalType.TIMESTAMP)
private Date timestamp;
..
public Session(String sessionId) {
this.sessionId = sessionId;
this.timestamp = new Date();
}
public Session() {
this.timestamp = new Date();
}
}
关于java - Java 中的时间戳无效时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31967902/