2014-12-06 63 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

相關問題