隨筆-57  評論-202  文章-17  trackbacks-0

                Hibernate通過Lifecycle、Validatable接口制定了實體對象CRUD過程中的回調方式。
                Lifecycle接口中的onSave、onUpdate、onDelete方法,如果返回true則意味著需要中止執行相應的操作過程。如果代碼運行期間拋出了CallbackException,對應的操作也會被中止。注意,不要試圖在這些方法中調用Session進行持久化操作,這些方法中Session無法正常使用。
                Validatable.validate方法將在實體被持久化之前得到調用以對數據進行驗證。此方法在實體對象的生命周期內可能被數次調用,因此,此方法僅用于數據本身的邏輯校驗,而不要試圖在此實現業務邏輯的驗證。



                Hibernate還引入了Interceptor,為持久化事件的捕獲和處理提供了一個非侵略性的實現。Interceptor接口定義了Hibernate中的通用攔截機制。Session創建時即可指定加載相應的Interceptor,之后,此Session的持久化操作動作都將首先經由此攔截器捕獲處理。簡單的加載范例如下:

          SessionFactory factory = config.buildSessionFactory();
          Interceptor it 
          = new MyInterceptor();
          session 
          = sessionFactory.openSession(it);

                需要注意的是,與Lifecycle相同,Interceptor的方法中不可通過Session實例進行持久化操作。
          posted on 2005-07-21 18:35 小米 閱讀(3369) 評論(1)  編輯  收藏 所屬分類: Hibernate

          評論:
          # re: 《深入淺出Hibernate》讀書筆記(7)——回調與攔截機制 2007-01-09 14:49 | david[匿名]
          mark 100   回復  更多評論
            
          主站蜘蛛池模板: 得荣县| 丹巴县| 高安市| 富源县| 静海县| 玉门市| 嫩江县| 潞西市| 龙井市| 长宁县| 泾源县| 稷山县| 岱山县| 林周县| 宾川县| 红河县| 兴安县| 武陟县| 灵川县| 青阳县| 三明市| 墨江| 武山县| 台山市| 宁武县| 抚宁县| 治县。| 囊谦县| 宁都县| 黄大仙区| 临高县| 文化| 东莞市| 彩票| 文登市| 渝北区| 陇川县| 沙雅县| 永昌县| 林芝县| 门源|