我有一个实体存储这样的上次更新日期
@Entity
@Table(name = "counter")
public class Count {
@Id
@Column(name = "uniq_id")
String uniqId;
@Column(name = "amount")
int amount;
@Column(name = "points")
double points;
@Column(name = "handshake")
boolean handshake;
@UpdateTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_date")
Date timestamp;
//getter setters
}
这部分
@UpdateTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_date")
Date timestamp;
意味着每当使用此实体时,时间戳
都会自动更新并保留在数据库中。
现在我的问题是,如何在特定时区自动设置此时间戳
?我正在使用 Postgresql。任何帮助,将不胜感激。
最佳答案
避免使用Date ,JPA 支持 java-8 日期类,因此使用 OffsetDateTime映射带有时区的TIMESTAMP
@Column(name = "updated_date", columnDefinition = "TIMESTAMP WITH TIME ZONE")
private OffsetDateTime offsetDateTime;
对于没有时区的时间戳
,您可以使用 LocalDateTime
@Column(name = "updated_date", columnDefinition = "TIMESTAMP")
private LocalDateTime localDateTime;
关于java - 在 Spring Boot Hibernate for Postgres 中为特定时区设置 UpdatedTimeStamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59811958/