在项目开发中,对于struts的数据读取,当遇到多个表关联的数据读取的时候,精彩会出现session close的错误,一般的解决方案是将hib的延迟加载错误取消掉,但是这样赶鸭子上架的解决机制无疑是对程序的极度不负责,在这里我们用到hibernte自带的一种机制,session.load。
例如
notic----user
user----userInfo
三个表,notic a = (notic)session.load(notic,id);
a.getuser()
a.getuser.getuserinfo();
session.transaction.commit();
问题解决。
当然,还有个万能的方法,就是通过gethibernate获取sf工厂,通过工厂进行session申明,然后进行相关操作.
本文介绍了在使用Struts框架时如何解决多表关联查询导致的Session关闭错误问题。通过使用Hibernate的session.load方法来替代get方法,可以有效地避免延迟加载异常,并提供了另一种通过SessionFactory创建Session并进行操作的通用解决方案。
688

被折叠的 条评论
为什么被折叠?



