Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring Boot中正确使用JPA的Epoch秒_Java_Mysql_Spring_Hibernate_Jpa - Fatal编程技术网

Java 在Spring Boot中正确使用JPA的Epoch秒

Java 在Spring Boot中正确使用JPA的Epoch秒,java,mysql,spring,hibernate,jpa,Java,Mysql,Spring,Hibernate,Jpa,我想把数据库中的所有日期都存储为历元秒,以消除时区模糊性。我正在使用SpringBoot的一个启动器(JPA的数据)提供的接口来持久化我对存储秒数的实体所做的更改。然而,我在弄清楚如何正确更新所有内容时遇到了一点困难 例如,我有一个表,它有一个创建的列和一个修改的列。很明显,我需要为添加的每个新条目为创建的列提供历元秒,并且我需要在现有条目每次更改时更新修改的列 我可以在我的表设计中结合使用MySQL默认值和注释以及我的JPA实体来实现这一点吗?或者我是否需要实现一个存储库来为我进行创建/更新?

我想把数据库中的所有日期都存储为历元秒,以消除时区模糊性。我正在使用SpringBoot的一个启动器(JPA的数据)提供的接口来持久化我对存储秒数的实体所做的更改。然而,我在弄清楚如何正确更新所有内容时遇到了一点困难

例如,我有一个表,它有一个
创建的
列和一个
修改的
列。很明显,我需要为添加的每个新条目为
创建的
列提供历元秒,并且我需要在现有条目每次更改时更新
修改的


我可以在我的表设计中结合使用MySQL默认值和注释以及我的JPA实体来实现这一点吗?或者我是否需要实现一个
存储库来为我进行创建/更新?

您可以简单地将毫秒存储在数字列中,同时让OOP端对日期对象进行操作:

public class MyEntity {

    @Column
    private long createdOn;

    public Date getCreatedOn() {
        return new Date(createdOn);
    }

    public void setCreatedOn(Date createdOn) {
        this.createdOn = createdOn.getTime();
    }

}

在getter/setter函数中,将所有内容都存储为历元秒,并根据需要转换为毫秒或从毫秒转换为毫秒,这有意义吗?使用毫秒将为您提供最佳的日期/时间精度。您也可以在存储时使用秒,但随后您失去了毫秒精度,只有秒精度。这很有意义。我会在我的纪元秒内完成。