gpt4 book ai didi

java - 在 Spring Boot Hibernate for Postgres 中为特定时区设置 UpdatedTimeStamp

转载 作者:行者123 更新时间:2023-11-30 01:41:29 28 4
gpt4 key购买 nike

我有一个实体存储这样的上次更新日期

@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

Mapping Java 8 Date Types

@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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com