2009-11-04 101 views
0

我有一個在Oracle上運行的數據庫。我使用Hibernate進行數據訪問。無論何時將對象保存在數據庫中,我都希望得到通知,以便我可以執行一些自定義工作。我想要一個「事件監聽器」,如果你可以稱之爲的話。有沒有辦法來檢測這樣的任務?休眠事件檢測器

回答

1

Hibernate的水平,這是使用interceptors

在甲骨文級別進行,這就是所謂的觸發器:

create or replace trigger <triggername> 
before/after insert or update or delete 
on <tablename> 
for each row/for each statement 
... 
+0

是否有可能轉而使用Hibernate的攔截器保存之前攔截持久化對象,更新或刪除? – Attilah 2009-11-04 17:05:40

+0

對不起,我犯了一個錯誤。是否有可能在Hibernate中使用攔截器攔截持久對象AFTER它被保存,更新或刪除? – Attilah 2009-11-04 17:07:11

+0

你看過Interceptor的例子嗎?請參閱afterTransactionCompletion()方法,該方法在對象被保存/更新/刪除後被稱爲AFTER。 – mhaller 2009-11-05 14:11:22