Hibernate中有關(guān)Interceptor的學(xué)習(xí)

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

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


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

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

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 永川市| 荣昌县| 怀安县| 镇巴县| 上高县| 南陵县| 洛宁县| 辽宁省| 娱乐| 定日县| 城口县| 溧水县| 合水县| 柳州市| 海伦市| 元谋县| 新蔡县| 昌吉市| 自贡市| 佳木斯市| 新竹县| 建宁县| 都江堰市| 偏关县| 建始县| 凤冈县| 巧家县| 临泽县| 嵊泗县| 沂南县| 宁明县| 江安县| 乌鲁木齐县| 长春市| 崇仁县| 阿荣旗| 布拖县| 永福县| 牡丹江市| 洛川县| 上高县|