簡體   English   中英

在 Spring Boot Hibernate for Postgres 中的特定時區中設置 UpdatedTimeStamp

[英]Set UpdatedTimeStamp in a particular TimeZone in Spring Boot Hibernate for Postgres

我有一個存儲像這樣的上次更新日期的實體

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

意味着無論何時使用此實體, timestamp都會自動更新並保存在數據庫中。

現在我的問題是,如何在特定時區上自動設置此timestamp 我正在使用 Postgresql。 任何幫助,將不勝感激。

避免使用Date ,JPA 支持 java-8 日期類,所以使用OffsetDateTime來映射TIMESTAMP WITH TIME ZONE

映射 Java 8 日期類型

@Column(name = "updated_date", columnDefinition = "TIMESTAMP WITH TIME ZONE")
 private OffsetDateTime offsetDateTime;

對於TIMESTAMP WITHOUT TIME ZONE您可以使用LocalDateTime

@Column(name = "updated_date", columnDefinition = "TIMESTAMP")
private LocalDateTime localDateTime;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM