2013-10-01 70 views
0

我們知道,當你更新休眠對象做了Session.update(OBJ),它將檢查,如果這一個變化,將決定更新或不更新日期propertie,事情是,我想在hibernate決定更新這個對象的情況下更新另一個名爲UPDATED_AT(BD)或屬性的列。當Hibernate決定更新對象

有沒有辦法做到這一點?

+0

我們通過數據庫觸發器來做到這一點。我不確定在hibernate中是否有配置來執行此操作。儘管如果沒有辦法在hibernate中這樣做,我會感到有些驚訝。 – hooknc

+0

查找有關攔截器的文檔。 – Marcelo

+0

我知道它可以用一個觸發器完成,謝謝hooknc,但我正在尋找一種方法來做到這一點與休眠,所以生病看看攔截器... –

回答

1

您可以使用這個interceptor

攔截器是事件偵聽器Hibernate會調用某些事件當一個對象被加載或當它保存等。

onSave在實際保存對象之前調用,並且您將獲得將被保存的所有屬性的列表,因此您可以在UPDATE發送到數據庫之前修改它們。

+0

這似乎是有益的,我會更新答案時我讓它工作,謝謝:) –

+0

我有一個問題,我的攔截器不工作時,我使用session.getCurrentSession(),請注意,我已經加入這個攔截時,我的openSession –

+1

請打開一個新的問題的代碼如何安裝攔截器(以及何時)以及如何在需要時使用它。 –

相關問題