Hibernate中有關Interceptor的學習

          可以使用Hibernate的Interceptor對數據稽核,它避免了使用Lifecycle對Hibernate 的依賴。減少了Hibernate的侵入性。
          使用sessionFactory.openSession(interceptor)
          使其與session相關聯。

          但是常用的還是他的adaptor類EmptyInterceptor。我們只需要extends EmptyInterceptor,然后針對我們想要的方法進行override。


          注意:Lifecycle和Interceptor都不能調用當前的session進行操作,因為他們接口中定義的方法都是由當前session負責調用的,如果在這些方法中又調用了當前session的話,就會導致管理混亂。解決方法有兩種:1。創建一個新的session。但是兩個不同的session獨占兩個數據庫連接,完成一個操作,對并發量大的系統來說是個奢侈。2。重用當前數據庫連接。使用session.connection()傳遞一個JDBC的Connection,然后tempSession=sessionFactory.openSession(connection),這樣雖然是兩個session,但是只有一個數據庫連接,由于是共享數據庫連接,那么tempSession就不需要進行close()了

          posted on 2007-09-16 10:22 劉錚 閱讀(619) 評論(0)  編輯  收藏 所屬分類: Hibernate

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 汶上县| 达州市| 辉南县| 嵩明县| 泊头市| 凌云县| 张家港市| 全南县| 嘉峪关市| 清徐县| 温州市| 广汉市| 和顺县| 阿尔山市| 普格县| 犍为县| 安仁县| 永定县| 莱西市| 肇州县| 永春县| 临安市| 阳泉市| 南江县| 太仓市| 阳城县| 沙坪坝区| 兰溪市| 包头市| 理塘县| 青浦区| 内江市| 突泉县| 徐闻县| 五寨县| 桐乡市| 海宁市| 德安县| 饶平县| 潮安县| 岑溪市|