0
我有一個在Oracle上運行的數據庫。我使用Hibernate進行數據訪問。無論何時將對象保存在數據庫中,我都希望得到通知,以便我可以執行一些自定義工作。我想要一個「事件監聽器」,如果你可以稱之爲的話。有沒有辦法來檢測這樣的任務?休眠事件檢測器
我有一個在Oracle上運行的數據庫。我使用Hibernate進行數據訪問。無論何時將對象保存在數據庫中,我都希望得到通知,以便我可以執行一些自定義工作。我想要一個「事件監聽器」,如果你可以稱之爲的話。有沒有辦法來檢測這樣的任務?休眠事件檢測器
Hibernate的水平,這是使用interceptors
在甲骨文級別進行,這就是所謂的觸發器:
create or replace trigger <triggername>
before/after insert or update or delete
on <tablename>
for each row/for each statement
...
是否有可能轉而使用Hibernate的攔截器保存之前攔截持久化對象,更新或刪除? – Attilah 2009-11-04 17:05:40
對不起,我犯了一個錯誤。是否有可能在Hibernate中使用攔截器攔截持久對象AFTER它被保存,更新或刪除? – Attilah 2009-11-04 17:07:11
你看過Interceptor的例子嗎?請參閱afterTransactionCompletion()方法,該方法在對象被保存/更新/刪除後被稱爲AFTER。 – mhaller 2009-11-05 14:11:22