码迷,mamicode.com
首页 > 其他好文 > 详细

SSH之懒加载异常解决方案

时间:2014-08-14 20:22:19      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   io   文件   数据   ar   

1、设置成即时加载

2、查询语句使用join fetch

from Coupon coupon  left join fetch coupon.users  where coupon.id=:id  

coupon的List<users> users属性是懒加载,但是查询结果需要users的内容,则使用 left join fetch

3、使用OpenSessionInViewFilter过滤器

web.xml

    <!-- 以下是Spring的OpenSessionInView实现 ,唯一要求:放在struts2的过滤器前面-->
    <filter>
        <filter-name>openSessionInViewFilter</filter-name>
        <filter-class>
            org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
        </filter-class>
        <!-- 如果是singleSession=false的话, 就不会在每次的整个request的过程中使用同一个hibernate session, 
            而是每个数据访问都会产生各自的seesion,等于没有OpenSessionInView. -->
        <init-param>
            <param-name>singleSession</param-name>
            <param-value>true</param-value>
        </init-param>
        <!-- 指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件中的名称,默认值为sessionFactory。 
            如果LocalSessionFactoryBean在spring中的名称不是sessionFactory,该参数一定要指定,否则会出现找不到sessionFactory的例外。所以默认可以不写 -->
        <init-param>
            <param-name>sessionFactoryBean</param-name>
            <param-value>sessionFactory</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>openSessionInViewFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- openSessionInViewFilter在struts2前面 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

 

Done!

SSH之懒加载异常解决方案,布布扣,bubuko.com

SSH之懒加载异常解决方案

标签:style   blog   color   使用   io   文件   数据   ar   

原文地址:http://www.cnblogs.com/xingyyy/p/3913210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!