2010-03-17 54 views
0

我有一個模塊,它使用Hibernate作爲ORM解決方案,EHCache作爲二級緩存。 我有另一個插入和更新數據庫的獨立模塊。 我需要的是當插入或更新行時能夠觸發事件。 比方說,我有一個Customers表,它被映射到一個Customer實體。 我想要一些程序通知我已添加新的客戶。 關於第二個獨立模塊,它也使用Hibernate,但至少目前它們沒有連接(我指出了這一點,好像有人認爲我必須在它們之間共享Hibernate會話(或類似的東西)),那麼這個是我會考慮的)。 請注意,我對Hibernate的使用經驗有限。 在此先感謝休眠觸發器(也許這叫做攔截器)

回答

1

Hibernate的攔截可能是你所需要的

http://docs.jboss.org/hibernate/stable/core/reference/en/html/events.html

攔截器的接口提供 回調從會議到 應用程序,允許應用程序 檢查和/或在保存,更新,刪除 或加載之前操縱持久對象 的 屬性。

有一個簡單的如何寫入和配置它的例子。

還有Event系統,它是SQL級別操作的低級鉤子,但這可能比您需要的複雜一點。

+0

首先感謝您的評論,這個機制是否依賴於我的實體的所有更改都在同一個會話中生成的事實?因爲我的休眠會話可能會在某些時刻「突然看到」來自數據庫的新對象 – Ittai 2010-03-17 11:39:35