MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » net.sf.hibernate.HibernateException:   Sess

net.sf.hibernate.HibernateException:   Session   is (2)

www.MyException.Cn  网友分享于:2013-11-16  浏览:581次

------解决方案--------------------
试试ls的方法,将你的数据检索策略改成立即加载~
------解决方案--------------------
Session is closed 表示session已经关闭了

你检查一下,在你用到session的时候该session是不是已经被你在哪里关闭了呢
------解决方案--------------------
OpenSessionInView,根本解决之道
------解决方案--------------------
建议最好不要将lazy= "false ",那样如果关系复杂那会把你相关的所有数据拿出来,查询出来的是一个巨大的结果集

在session打开的时候,使用语句Hibernate.initialize()来对你需要延迟加载的数据进行预加载。
------解决方案--------------------
applebomb(袋装苹果) ( ) 信誉:100 2007-07-26 12:50:26 得分: 0

建议最好不要将lazy= "false ",那样如果关系复杂那会把你相关的所有数据拿出来,查询出来的是一个巨大的结果集

在session打开的时候,使用语句Hibernate.initialize()来对你需要延迟加载的数据进行预加载。

---------------------------


你说的是有一点道理,但是我是希望楼主按我的想法改下试试,你看下他的错:
net.sf.hibernate.HibernateException: Session is closed

这显然是数据还没取出来Session就关了,
我想楼主的代码应该是把数据库的数据取出来就放到一个容器中,再马上把Session关了,
如果lazy为true的话显能就是这样的错了.......

你说
"建议最好不要将lazy= "false ",那样如果关系复杂那会把你相关的所有数据拿出来,查询出来的是一个巨大的结果集
"
我认为,取多大的结果因当是你sql语句的问题,如果你的意思是取了多个结果会造成结果的积累,这还有点道理,但是,事情想做到完美是很难的,Java本身不就以牺牲效率为代价的吗???先把功能做到了,再谈优化吧~!!!!!!

------解决方案--------------------
LS 说的有道理
打断跟跟 你的Session在调用之前就关闭了
------解决方案--------------------
仔细检查代码,或则好好debug一下吧。session肯定在调用之前close了
------解决方案--------------------
延迟检索问题。修改配置文件的可以解决
------解决方案--------------------
检查一下事务控制呢,是不是把session交给容器控制了

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有