2017-06-01 59 views
0

在我的實體,我有兩個領域 -JPA/Hibernate的自動生成的時間戳字段沒有加載

@Temporal(TemporalType.TIMESTAMP) 
@Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") 
private Date created; 

@Temporal(TemporalType.TIMESTAMP) 
@Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") 
private Date updated; 

在創建新的實體,這兩個字段填充(我已經檢查DB)。但不幸的是,這些字段沒有加載實體(我的意思是對象),然後實體持久化,這些字段都沒有加載,如果我取得實體。我正在使用spring-boot and spring-boot-starter-data-jpa of version 1.5.3-RELEASEMySQL

任何幫助表示讚賞。提前致謝。

+0

你能確認你正在加載的實體在新會話還是以不同的方式執行,實體實際上是從數據庫加載的è? –

+0

@JensSchauder:我不確定新會話是什麼意思,但我試圖在新事務中加載實體。它不起作用。 我知道的唯一不同的方式是從數據庫手動加載它們,這將使JPA的使用無效。 –

回答

-1

創造和更新用時間戳你可以使用下面的代碼,

創作

@CreationTimestamp 
@Temporal(TemporalType.TIMESTAMP) 
@Column(name = "CREATED", updatable = false) 
private Date Created; 

更新用

@UpdateTimestamp 
@Column(name = "UPDATED") 
@Temporal(TemporalType.TIMESTAMP) 
private Date Updated; 
+0

@ @ CreationTimestamp和@ @ UpdateTimestamp都不是JPA的一部分,並且非常特定於Hibernate實現。 我正在尋找JPA特定的東西。 –

相關問題