Java,J2EE,Weblogic,Oracle

          java項目隨筆
          隨筆 - 90, 文章 - 6, 評論 - 61, 引用 - 0
          數據加載中……

          getCurrentSession 與 openSession() 的區別

          調用hibernate的session的問題getCurrentSession 與 openSession() 的區別

          該項目設計為 一個 item 下有多個 question ,而一個question 下有多個 answer 。因此,需多次循環查詢數據庫。
          測試時,數據庫連接池的最大數及最小數都設為 1.

          測試發現,為getHibernateTemplate().getSessionFactory().openSession()時,web 頁面無法正常顯示(白板),此時別的業務邏輯如果需要連接數據庫則都不能執行;查詢 log4j 日志發現,沒有打印出openSession()所在方法的sql。 后來改為 getHibernateTemplate().getSessionFactory().getCurrentSession()則web 頁面顯示正常。

          getCurrentSession () 使用當前的session
          openSession()         重新建立一個新的session

          在一個應用程序中,如果DAO 層使用Spring 的hibernate 模板,通過Spring 來控制session 的生命周期,則首選getCurrentSession ()。

          posted on 2008-01-04 17:09 龔椿深 閱讀(3300) 評論(1)  編輯  收藏

          評論

          # re: getCurrentSession 與 openSession() 的區別  回復  更多評論   

          灰常強大 學習了
          2011-07-25 13:13 | fsdew

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 公主岭市| 延庆县| 陇南市| 鄂温| 焉耆| 二连浩特市| 互助| 洛隆县| 公安县| 迁西县| 鹤峰县| 丹巴县| 介休市| 松溪县| 宜城市| 民权县| 桐柏县| 巴东县| 南昌县| 大悟县| 宜春市| 临江市| 盐山县| 台中县| 新晃| 涪陵区| 昆山市| 南投市| 沂水县| 赤峰市| 永昌县| 双峰县| 聂拉木县| 石阡县| 明星| 闽清县| 苍梧县| 芷江| 阿瓦提县| 天台县| 淅川县|