所以我在编程进程中实现了Java EE Web应用程序(PrimeFaces,Spring,Hibernate),我发现类类型Lazy之间的所有关联并不总是有效(“错误类型会话已关闭”..)< / p>
所以我每次都被迫与每个fetch eager合作以消除这个错误。我觉得我的工作不好
他们告诉我,spring不允许使用Lazy模式,如果我想使用lazy fashion,必须在web.xml中添加(listener或filter)。这是真的?你能用热切的加载给我一个例子吗?
答案 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>
但不建议这样做,因为它仍然充满了错误