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 龔椿深 閱讀(3304) 評論(1)  編輯  收藏

          評論

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

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

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


          網站導航:
           
          主站蜘蛛池模板: 通化县| 札达县| 醴陵市| 汝州市| 定安县| 马尔康县| 特克斯县| 临潭县| 株洲市| 磐石市| 长葛市| 永济市| 张家界市| 武山县| 屏东市| 兖州市| 双江| 常山县| 湛江市| 会泽县| 大关县| 茂名市| 米易县| 宁明县| 宜昌市| 嘉祥县| 吉水县| 辽中县| 天津市| 鲁甸县| 西乡县| 健康| 临泽县| 丘北县| 水城县| 手机| 米脂县| 山东省| 南投县| 凤凰县| 承德市|