因此,我在编程过程中实现了一个Java EE Web应用程序(PrimeFaces、Spring、Hibernate),我发现类类型Lazy之间的所有关联并不总是有效(“错误类型 session 已关闭”..)
因此,我每次都被迫处理每个 fetch eager 问题,以消除此错误。我觉得我的作品不好
他们告诉我 Spring 不允许 Lazy 模式,如果我想使用 Lazy 模式,必须在 web.xml 中添加(监听器或过滤器)。这是真的?
你能给我一个使用预加载的例子吗?
最佳答案
所以。要获取 View 中的“惰性”数据,您可以添加到应用程序上下文特殊拦截器:
<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>
但不推荐,因为它仍然充满错误
关于java - 每次 Spring 都从懒惰到渴望,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16485334/