为了消除时区的模糊性,我想将数据库中的所有日期存储为epoch秒。我正在使用Spring Boot的一个启动器(JPA的数据)提供的JpaRepository
接口来持久化我对存储epoch秒的实体所做的更改。然而,我有一个小麻烦,找出如何保持一切正常更新。
例如,我有一个表有一个Created
列和一个Modified
列。很明显,我需要列为每个添加的新条目提供历元秒,并且我需要在每次更改现有条目时更新Created
列。
我是否可以使用表设计中的MySQL默认值和带有JPA实体的注释的组合来实现这一点,或者我是否需要实现一个Modified
来处理我的创建/更新?
最佳答案
在对日期对象进行OOP端操作时,只需将millis存储在一个数字列中:
public class MyEntity {
@Column
private long createdOn;
public Date getCreatedOn() {
return new Date(createdOn);
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn.getTime();
}
}