三大框架整合配置hibernate延迟加载

来源:互联网 发布:淘宝旗舰店和京东自营 编辑:程序博客网 时间:2024/05/20 16:12

在我们作文开发时,运用三大框架的整合,有时需要spring对于hibernate进行延迟加载,现在对于spring支持hibernate延迟加载的方法进行说明:

openSessionInView实现Hibernate的延迟加载功能。其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束,具体是通过一个Filter来实现的。


由于Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter方法取到其关联对象的值,Hibernate会抛出一个LazyLoad的Exception。所以为了解决这个问题,Spring引入了这个Filter,使得Hibernate的Session的生命周期变长。





    <filter>
        <filter-name>openSessionInView</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
        <init-param>
            <param-name>flushMode</param-name>
            <param-value>AUTO</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>openSessionInView</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>



1 0