0 0

spring4 + jpa + hibernate4延迟加载问题10

在开发中遇到了延迟加载问题,望各位大神帮忙解决,谢谢:

web.xml已经配置了OpenEntityManagerInViewFilter

<filter>

    <filter-name>openEntityManagerInViewFilter</filter-name>

    <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>

  </filter>

  <filter-mapping>

    <filter-name>openEntityManagerInViewFilter</filter-name>

    <url-pattern>/*</url-pattern>

 

  </filter-mapping>

 

spring配置文件中:

<!-- 配置jpa实体管理工厂 -->

    <bean id="entityManagerFactory" 

          class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

        <!-- 数据源 -->

        <property name="dataSource" ref="dataSource"></property>

        <!-- 指定jpa实现厂商专有属性 -->

        <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"></property>

        <!-- 不再需要persistence.xml:即不需要指定persistenceXmlLocation -->

        <property name="packagesToScan" value="com.mzl"></property>

        <!-- 指定持久化单元名称 

        <property name="persistenceUnitName" value=""></property>-->

        <!-- 指定jpa持久化提供商 -->

        <property name="persistenceProvider" ref="persistenceProvider"></property>

        <!-- 指定jpaDialect:如果制定了jpaVendorAdapter,则该选项可以省略 

        <property name="jpaDialect" ref="jpaDialect"></property>-->

        <property name="jpaProperties">

            <props>

                <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>

                <prop key="hibernate.show_sql">true</prop>

                <prop key="hibernate.format_sql">true</prop>

                <prop key="hibernate.hbm2ddl.auto">update</prop>

                <prop key="hibernate.max_fetch_depth">3</prop>

                <prop key="hibernate.jdbc.fetch_size">18</prop>

                <prop key="hibernate.jdbc.batch_size">10</prop>

            </props>

        </property>

    </bean>

 

    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="false"/>

 

涉及到延迟加载的就会报错:

严重: Servlet.service() for servlet jsp threw exception

 

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.XXX, could not initialize proxy - no Session

2014年7月16日 11:31

1个答案 按时间排序 按投票排序

0 0

启动提示错误还是? 查询的时候

如果是查询的时候, 在查询的service里面加入事物
@transaction

2014年7月16日 14:08

相关推荐

    spring3+springmvc+jpa+hibernate

    Hibernate还支持二三级缓存、延迟加载等高级特性,提高了数据访问的性能。 在这个集成项目中,开发者可以利用Spring3来管理所有组件的生命周期,SpringMVC处理Web请求,而JPA2.0和Hibernate负责数据库操作。这样的...

    Spring3, JPA2( Hibernate4)整合开发DWP

    在本项目中,我们主要探讨的是如何将Spring3、JPA2(Hibernate4)整合到一个Dynamic Web Project中,以实现高效、灵活的企业级数据库管理。这是一个基础的Java Web应用程序开发教程,旨在帮助开发者理解如何在...

    Spring2.5+Hibernate3.2开发手册

    4. **更多支持**:Spring 2.5 还增强了对JSR-303 Bean Validation、RESTful服务和Java Persistence API(JPA)的支持。 Hibernate 3.2.0 版本则包含以下关键特性: 1. **性能优化**:在3.2版本中,Hibernate 对查询...

    struts2.3.2+spring4.1.6+hibernate4.2

    4.2版本引入了对JPA 2.1的支持,优化了性能,增强了对延迟加载(Lazy Loading)和缓存策略的处理。通过Hibernate,开发者可以将数据库操作封装到实体类中,降低了数据层和业务层的耦合。 SSH整合的主要目标是利用...

    springmvc+spring3+hibernate4

    Spring MVC、Spring 3 和 Hibernate 4 是三个在Java Web开发中非常重要的框架。它们各自承担着不同的职责,协同工作可以构建出高效、模块化的Web应用程序。以下是对这些技术的详细说明: **Spring MVC** Spring MVC...

    Spring2.5.3+Hibernate3.2+Struts2.0.11整合.

    4. 事务管理:Spring提供PlatformTransactionManager接口,可以配置为JDBC或Hibernate的TransactionManager,实现事务的声明式管理。 5. 异常处理:通过Spring的GlobalExceptionResolver或Struts2的异常拦截器处理...

    springmvc+springDatajpa+maven

    Hibernate 4 版本引入了一些性能优化和新特性,如第二级缓存、增强的延迟加载能力等。 **Maven** Maven 是一个项目管理工具,它管理项目的构建、报告和文档生成。Maven 使用一个项目对象模型(POM),通过 POM 文件...

    SSH整合spring3.2+strut2.3.4+hibernate4.2所需jar包

    - `javassist.jar`: Hibernate使用此库动态生成字节码,实现延迟加载等功能。 - `junit.jar`: 测试框架,用于单元测试。 在实际项目中,SSH整合涉及的jar包远不止这些,还需要数据库驱动(如mysql-connector-java....

    集成Hibernate3.6.8+Spring3.0.6+struts2.2.3.0

    标题中的"集成Hibernate3.6.8+Spring3.0.6+struts2.2.3.0"指的是一个经典的Java Web开发框架整合,它将三个强大的开源框架——Hibernate、Spring和Struts2结合在一起,以实现高效、模块化且可维护的Web应用程序。...

    Spring3+hibernate3+struts2

    4. **数据访问集成**:支持JDBC、JPA、Hibernate等多种数据访问技术,简化了数据库操作。 5. **MVC框架**:提供了Model-View-Controller模式的实现,便于构建Web应用。 **Hibernate3**是SSH中的持久层框架,用于...

    Spring2.5集成JPA

    2. 支持多种JPA实现:Spring支持Hibernate、EclipseLink等多种JPA提供商,提高了系统的可移植性。 3. 高级事务管理:Spring提供了声明式事务管理,可以方便地控制JPA操作的事务边界。 三、Spring 2.5集成JPA的基本...

    spring4:Spring4+Hibernate3.6配置

    6. **懒加载(Lazy Loading)**:延迟加载策略,只有在需要时才加载关联的数据,减少内存消耗。 **Spring4与Hibernate3.6整合的优势:** 1. **事务管理**:Spring4的声明式事务管理可以轻松地应用到Hibernate操作上...

    Struts2+Spring+Hibernate+ExtJs

    Hibernate支持事务管理,自动处理SQL语句的生成和执行,还可以进行延迟加载,提升了应用性能。 **ExtJs** 是一个用于构建用户界面的JavaScript库,它提供了丰富的组件库,如表格、图表、窗体等,使得开发者可以创建...

    spring boot 整合JPA及使用方法

    JPA支持延迟加载(懒加载),可以按需加载关联实体,提高应用性能。级联操作(Cascade)则可以指定当进行某些操作时,相关联的实体也应一并进行相应操作,如保存、删除等。 10. 自定义Repository接口 在Spring Data...

    spring+hibernate+struts企业面试题(精华)

    6. **懒加载和Eager加载**:优化性能的技术,懒加载延迟关联对象的加载,而Eager加载会在查询时一起加载关联对象。 **Struts框架:** 1. **MVC模式**:Struts是基于Model-View-Controller设计模式的,负责协调用户...

    hibernate延迟加载解决

    标题和描述提到的“hibernate延迟加载解决”主要涉及如何理解和解决与之相关的常见问题。 **1. 延迟加载概念** 延迟加载是一种优化策略,它使得关联的对象在真正需要时才从数据库中加载,而不是在加载主对象时立即...

    Spring Data JPA讲义_Java高薪训练营1

    Spring Data JPA 提供了一些基本的 DAO 实现,例如 JPA DAO、Hibernate DAO 等。 Spring Data JPA 还支持 MyBatis 等其他数据访问技术,允许开发者使用 MyBatis 来访问数据库。 在本讲义中,我们将详细介绍 ...

    spring+hibernate

    5. **性能优化**:支持延迟加载(Lazy Loading)、批处理等优化策略。 **Spring + Hibernate 整合** 整合 Spring 和 Hibernate 可以充分利用两者的优点,Spring 负责业务逻辑的组织和管理,而 Hibernate 负责数据...

    Spring+hibernate帮助文档

    5. **改进的性能**:通过优化和新特性,如延迟加载和批处理,使得 Hibernate 3.x 在性能上有了显著提升。 6. **类型安全的 HQL**:引入了编译时的 HQL 检查,减少了运行时错误。 7. **实体生命周期管理**:提供了...

    Introduction to Spring2. and JPA

    2. **持久化上下文(Persistence Context)**:JPA的持久化上下文负责管理实体的状态,包括事务范围的缓存,确保对象的一致性和延迟加载。 3. **查询语言(JPQL)**:Java Persistence Query Language,类似于SQL,...

Global site tag (gtag.js) - Google Analytics