我想将数据库中的所有日期存储为纪元秒,以消除时区歧义。我正在使用JpaRepository
通过 Spring Boot 的启动程序之一(JPA 的数据)提供的接口(interface),用于保存我对将存储纪元秒的实体所做的更改。但是,我在弄清楚如何正确更新所有内容时遇到了一些麻烦。
例如,我有一个表,其中有一个Created
列和一个Modified
列。显而易见,我需要为添加的每个新条目为 Created
列提供纪元秒,并且我需要每次更新 Modified
列现有条目已更改。
我可以使用表设计中的 MySQL 默认值和 JPA 实体注释的组合来完成此操作,还是需要实现一个 Repository
来为我处理此创建/更新?
最佳答案
您可以简单地将毫秒存储在 NUMERIC 列中,同时让 OOP 端对 Date 对象进行操作:
public class MyEntity {
@Column
private long createdOn;
public Date getCreatedOn() {
return new Date(createdOn);
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn.getTime();
}
}
关于java - 在 Spring Boot 中通过 JPA 正确利用纪元秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27329482/