我想将数据库中的所有日期存储为纪元秒,以消除时区歧义。我正在使用通过Spring Boot的一个启动程序(Data for JPA)提供的JpaRepository
接口来持久保存我对将存储纪元秒的实体所做的更改。但是,我在确定如何正确更新所有内容方面遇到了一些麻烦。
例如,我有一个包含Created
列和Modified
列的表。很明显,我需要为每个添加的新条目提供Created
列的纪元秒,并且每次更改现有条目时都需要更新Modified
列。
我可以使用表格设计中的MySQL默认值和我的JPA实体的注释来完成此操作,还是需要实现一个Repository
来处理这个创建/更新?
答案 0 :(得分:1)
您可以简单地将millis存储在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();
}
}