Hibernate中有關Interceptor的學習

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

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


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

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

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

          導航

          統(tǒng)計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 达日县| 巴林左旗| 孟村| 香河县| 莱芜市| 樟树市| 交口县| 蒙自县| 金坛市| 泰和县| 广东省| 信阳市| 松桃| 满洲里市| 崇阳县| 济阳县| 东乡县| 太原市| 天祝| 化州市| 长泰县| 双江| 乡城县| 泰兴市| 华阴市| 罗源县| 深水埗区| 开封市| 抚顺市| 夹江县| 廊坊市| 西安市| 景泰县| 岑巩县| 武邑县| 福州市| 阳新县| 绥阳县| 临沧市| 遵化市| 固始县|