您的位置:首页 > 大数据 > 人工智能

failed to lazily initialize a collection of role:XXX, no session

2013-06-12 19:10 519 查看
我得程序用到了一对多关联。在查询parent时候调用了children,就报failed to lazily initialize a collection of role:XXX, no session这个错。将lazy属性改为false依然报这个错误。

在开发Struts2.0+hibernate3.2+spring2.5项目过程中,遇到了failed to lazily initialize a collection of role: XXXXXX, no session or session was closed 这个异常的麻烦,起初到网上找资料,得到了下面的一些解决方法:

1、是把对应一对多的那两个列lazy=true改为lazy=false即可;

2、对于查询中如果用的是xxx.load(class,id)则改为xxx,get(class,id);

3、在web.xml文件中加入: 利用OpenSessionInViewFilter    详见opensessioninviewfilter这篇文章

<!-- OpenSessionInViewFilter   -->

    <filter> 

        <filter-name>hibernateFilter</filter-name> 

        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> 

    </filter> 

    <filter-mapping> 

        <filter-name>hibernateFilter</filter-name> 

        <url-pattern>/*</url-pattern> 

    </filter-mapping> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐