在我們的基本實體類(所有實體派生自)中,我們有2個方法。一個註釋爲@PrePersist
,其中基本上只設置dateCreated
,另一個註釋爲,其設置dateUpdated
字段。在JPA實體上實現「觸摸」?
這是完美的,因爲我們不希望在創建時設置dateUpdated
字段。作爲設計的一部分,我們也制定了兩種方法protected
,這樣其他開發人員就不會明確地混淆這兩個日期(也沒有設置者)。
另外,我們可以很容易地擴展任何實體,通過在實際實體上定義一個方法來創建dateUpdated
字段,並用@PrePersist
對其進行註釋,因此本部分將進行介紹。
現在,我目前的問題是,我們想要明確更新實體上的dateUpdated
字段,但沒有任何數據更改(基本上爲touch
it)。有沒有這樣做的優雅方式?我真的不想實現一個方法來改變它的一個字段然後改回它。我們希望繼續擁有這些領域沒有setter方法的實體。
謝謝!
好東西。我其實只是在以前閱讀過這篇文章。請試試看,謝謝。 – 2011-05-27 13:03:04
完美地工作,謝謝! (除了不能'this.dateUpdated = -1',因爲你不能將'int'賦值給'Date'字段,但是'this.dateUpdated = null'有100%的效果。 – 2011-05-30 07:02:15