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

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


          網站導航:
           
          主站蜘蛛池模板: 铁岭市| 武清区| 水城县| 吕梁市| 湛江市| 海口市| 海南省| 京山县| 临安市| 拉萨市| 佳木斯市| 盐津县| 阿坝| 崇义县| 西峡县| 崇信县| 博客| 台东市| 绥化市| 金坛市| 丰台区| 吴堡县| 昆明市| 德阳市| 平乐县| 兖州市| 阳江市| 内黄县| 呼和浩特市| 隆回县| 卢湾区| 青神县| 邯郸市| 翁源县| 三门县| 牟定县| 鄂温| 绥化市| 彭州市| 昭通市| 昌黎县|