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 劉錚 閱讀(616) 評論(0)  編輯  收藏 所屬分類: Hibernate

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

          導航

          統計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 旅游| 崇左市| 正定县| 伊通| 增城市| 上犹县| 翁牛特旗| 武宣县| 攀枝花市| 观塘区| 北川| 辽宁省| 榆社县| 平邑县| 临高县| 定安县| 普兰店市| 南靖县| 沙湾县| 明光市| 萝北县| 名山县| 广宗县| 仙游县| 贵德县| 柞水县| 文安县| 车险| 吕梁市| 化隆| 灵寿县| 镇康县| 噶尔县| 成都市| 宝鸡市| 乐亭县| 呼图壁县| 绥阳县| 周口市| 会同县| 集安市|