2014-12-06 59 views
1

我想将数据库中的所有日期存储为数据库纪元,以消除时区模糊性。我正在使用通过Spring Boot的启动程序(Data for JPA)提供的接口来保存对存储纪元秒的实体所做的更改。但是,我在确定如何正确更新所有内容方面遇到了一些麻烦。在Spring Boot中正确使用具有JPA的纪元秒

例如,我有一个表有Created列和Modified列。很明显,我需要为每个添加的新条目提供Created列,并且每次更改现有条目时都需要更新Modified列。

我可以使用我的表设计中的MySQL默认值和JPA实体的注释来完成这项工作吗?还是我需要实现一个Repository,它负责为我创建/更新这个项目?

回答

1

你可以简单的米利斯存储在数字列,同时具有面向对象的侧上操作Date对象:

public class MyEntity { 

    @Column 
    private long createdOn; 

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

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

} 
+0

会是有意义的还是所有都纪元秒,根据需要内从毫秒转换成/ getter/setter函数? – nmagerko 2014-12-06 16:49:41

+0

使用毫秒将为您提供最佳的日期/时间精度。你也可以在存储时使用秒,但是你会失去毫秒精度,只有第二精度。 – 2014-12-06 17:06:35

+0

有道理。我会在我的时代秒。 – nmagerko 2014-12-06 17:08:16

相关问题