我有一個具有創建日期和修改日期列的JPA實體。在創建/保留時,創建日期和修改日期都由數據庫中給出的默認值生成,該時間戳是時間戳。然而,創建工程,當我嘗試做更新/合併時,我不知道如何通過使用數據庫中的默認值來更改修改日期。有什麼建議?這是當前設置:JPA EntityManager - 使用合併生成默認值?
....
@Temporal(TemporalType.DATE)
@Column(name="CREATED_DATE", insertable = false, updatable = false)
private Date createdDate;
@Temporal(TemporalType.DATE)
@Column(name="MODIFIED_DATE", insertable = false)
private Date modifiedDate;
....
-
public Database changeDate(Database oldValues)
Database newvalues = new Database();
....
newValues.setCreatedDate(oldValues.getCreatedDate);
//newValues.setModifiedDate(); <-- (Should use the default value in the database)
....
em.merge(newValues); <-- (EntityManager)
em.getTransaction().commit();
**萬一我沒有讓自己清楚,我只是不知道如何使它與默認值設置更新在數據庫中。
只是爲了讓這個更清楚一點,你是說「我試圖更新newValues.modifiedDate到一個新的Date()值,但事務提交後,數據庫顯示沒有更新」或「我想更新newValues .modifiedDate爲空值,但我收到異常「? –
我想嘗試將其更新爲其存儲在數據庫中的默認值。將它設置爲null沒有幫助。我可能會執行新的Date()路由,但我仍然更喜歡默認值。 –
我會建議編輯你的問題,並刪除「null」。如果你重新解釋你的問題來準確地解釋你正在做的事情,那麼我們會更容易幫助你。 –