2015-02-11 50 views
0

我想知道這些聽衆何時收到通知?我沒有得到詳細的文件。何時通知Nhibernate的不同聽衆?

  1. DefaultAutoFlushEventListener
  2. DefaultPersistEventListener
  3. DefaultLoadEventListener
  4. DefaultSaveOrUpdateEventListener
  5. DefaultDeleteEventListener
  6. DefaultFlushEntityEventListener

回答

1

NHibernate documentation

12.2。事件系統

如果您必須對持久層中的特定事件做出反應,您可以使用NHibernate2事件架構。事件系統 可用於補充或作爲攔截器的替代品。

基本上所有ISession接口的方法都與 事件有關。你有一個LoadEvent,一個FlushEvent等(請參閱XML 配置文件XSD或NHibernate.Event命名空間,以獲取完整的 定義的事件類型列表)。當請求由這些方法之一構成時,ISession會生成一個適當的事件並將其傳遞給該類型的配置事件偵聽器。開箱即用,這些 聽衆實現了相同的處理過程,其中這些方法總是產生 。但是,您可以自由地實現對監聽器接口(即,LoadEvent由ILoadEventListener接口的註冊實現處理的 )之一的 之一的自定義,其在 的情況下它們的實現將負責處理 任何Load()由ISession提出的請求。