如何在Spring引导中使用EnableJpaAuditing注释在印度标准时间(即UTC+05:30)中写入@Crea



我的模型扩展了此AuditModel

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(
value = {"createdAt", "updatedAt"},
allowGetters = true
)
public abstract class AuditModel implements Serializable {
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at", nullable = false, updatable = false)
@CreatedDate
private Date createdAt;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_at", nullable = false)
@LastModifiedDate
private Date updatedAt;
//getters and setters
}

我已将下一行添加到应用程序。属性

spring.jpa.properties.hibernate.jdbc.time_zone=UTC

但我希望数据库条目中的时间为UTC+05:30。如何做到这一点

感谢

在您的主应用程序类或其他适当的bean中,您可以添加一个PostConstruct来设置整个应用程序的时区,这将受到Auditing标签的尊重(下面是UTC作为示例(

@PostConstruct
public void init() {
TimeZone.setDefault(TimeZone.getTimeZone(ZoneOffset.UTC))
}

相关内容

最新更新