java - 每次 Spring 都从懒惰到渴望

标签 java spring hibernate

因此,我在编程过程中实现了一个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/

相关文章:

java - 从 View android中删除所有监听器

spring - 如何在独立 Tomcat 中运行的 Spring Boot 应用程序中设置 cookie 名称?

spring - Tomcat能否支持多个JDBC连接池?

java - 使用 JPA 和/或 Hibernate 将 Java Web 应用程序连接到 MySQL?

java.lang.OutOfMemoryError : Java heap space in hibernate while picking 200 thousand rows 错误

java - Hibernate 4.3 索引注释

java - 无法在另一个 Activity 中使用另一个布局元素 - android studio

java - 如果我们使用@embedded注解,HQL(hibernate查询语言)需要如何改变?

java - JDialog - 添加和排列按钮

java - 为什么Tuckey UrlRewrite Filter在规则匹配后不调用chain.doFilter?