每次与春天一起懒惰渴望

时间:2013-05-10 15:05:48

标签: java spring hibernate

所以我在编程进程中实现了Java EE Web应用程序(PrimeFaces,Spring,Hibernate),我发现类类型Lazy之间的所有关联并不总是有效(“错误类型会话已关闭”..)< / p>

所以我每次都被迫与每个fetch eager合作以消除这个错误。我觉得我的工作不好

他们告诉我,spring不允许使用Lazy模式,如果我想使用lazy fashion,必须在web.xml中添加(listener或filter)。这是真的?

你能用热切的加载给我一个例子吗?

1 个答案:

答案 0 :(得分:1)

因此。要在视图中获取“延迟”数据,您可以添加到应用程序上下文特殊拦截器:

<mvc:interceptors>
    <bean
        class="org.springframework.orm.hibernate4.support.OpenSessionInViewInterceptor">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
</mvc:interceptors>

或者如果您不害怕,可以通过添加新属性来修改entityManagerFactory

<property name="jpaProperties">
    <props>
        <prop key="hibernate.enable_lazy_load_no_trans">true</prop>
    </props>
</property>

但不建议这样做,因为它仍然充满了错误