我需要攔截後保存一個實體在休眠,但所有我發現是保存,這是處理實體保存之前,有一個postFlush方法返回一個巨大的惰性迭代器,我不能瞭解如何使用它,請建議我一個辦法趕上實體休眠後保存或更新,hibernate攔截器後保存?
問候,
我需要攔截後保存一個實體在休眠,但所有我發現是保存,這是處理實體保存之前,有一個postFlush方法返回一個巨大的惰性迭代器,我不能瞭解如何使用它,請建議我一個辦法趕上實體休眠後保存或更新,hibernate攔截器後保存?
問候,
postFlush是你想要的。迭代器將讓您遍歷所有插入或更新的實體。它在sql執行完數據庫後被調用。
嘗試javax.persistance.PostPersist註釋:
@PostPersist
private void postPersist()
{
// do stuff
}
儘管OP沒有說他使用了JPA。 – 2010-09-01 08:59:19
這是正確的,我正在使用hibernate而不是實體管理器(JPA)實現 – 2010-09-01 09:47:33
嗯,我想你正在尋找SaveOrUpdateEventListener界面。
(這裏是Hibernate event system的參考。)
,但它執行一個奇怪的行爲,因爲某些時候該數組中的對象沒有用DB中的最新更改進行更新 – 2010-09-01 13:23:04