一般出现这个问题都是采用了懒加载,即fechType=lazy
在多个表的关联关系中经常会遇到A有B的引用,B有C的引用,A和b一对多,B和C一对多。如果采用注解什么也不写,hibernate=默认采用懒加载,即采用load的方法但是当我们在jsp页面调用时就会出现no session的问题。因为事务已经提交session已经关闭。
解决办法:
1、把懒加载换掉
2、在web.xml中配置
<!-- 一般放在struts过滤器前,为了防止懒加载出现no session -->
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>