可能原因:
                  當<class>元素或者<set>元素的lazy屬性為true時,load() or get() or find()加載這些對象時,Hibernate不會馬上產生任何select語句,只是產生一個Obj代理類實例,只有在session沒有關閉的情況下運行Obj.getXxx()時才會執行select語句從數據庫加載對象,如果沒有運行任何Obj.getXxx()方法,而session已經關閉,Obj已成游離狀態,此時再運行Obj.getXxx()方法,Hibernate就會拋出"Could not initialize proxy - the owning Session was closeed"的異常,是說Obj代理類實例無法被初始化。然而想在Session關閉之前不調用Obj.getXxx()方法而關閉Session之后又要用,此時只要在Session關閉之前調用Hibernate.initialize(Obj)或者Hibernate.initialize(Obj.getXxx())即可,net.sf.hibernate.Hibernate類的initialize()靜態方法用于在Session范圍內顯示初始化代理類實例。

          解決方法:
                  所以,在映射文件中,將lazy屬性設為false即可,<class name="cssduty.table.Team" table="team" catalog="duty" lazy="false">

          Feedback

          # re: could not initialize proxy - the owning Session was closed  回復  更多評論   

          2008-03-07 16:51 by jamie
          這樣的話,延時加載還有意義嗎?

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


          網站導航:
           

          posts - 1, comments - 1, trackbacks - 0, articles - 1

          Copyright © Sussi

          主站蜘蛛池模板: 肃北| 黎平县| 万宁市| 体育| 乌鲁木齐市| 都匀市| 泽州县| 青冈县| 高安市| 贵阳市| 渝北区| 措美县| 鸡东县| 集安市| 农安县| 图们市| 靖宇县| 泽库县| 白朗县| 五华县| 乌审旗| 呼图壁县| 贵定县| 太谷县| 宜良县| 齐齐哈尔市| 台中市| 蕉岭县| 行唐县| 淅川县| 东乡族自治县| 铜梁县| 正蓝旗| 柳州市| 灵武市| 库尔勒市| 连江县| 长沙县| 固始县| 平阴县| 连城县|