为了消除时区的模糊性,我想将数据库中的所有日期存储为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();
    }

}

09-16 04:25