`
awtqty_zhang
  • 浏览: 92902 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

hibernate级联删除时出错

阅读更多

 

现象:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.hampoo.serviceUser.entity.ParametD.SUDep, no session or session was closed

       at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)

       at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)

 

 

问题分析:

       1、根据问题提示:failed to lazily initialize a collection of role: com.hampoo.serviceUser.entity.ParametD.SUDep, no session or session was closed   可以得出是因为在做某操作时,“懒加载”没有成功----session”没有打开。

       2、由1得出的结论,则可以想到在hibernate 的配置文件中有“lzay”属性,默认是true (即 一个对象A关联的另外一些集合对象B时, A被查询出来的时候不会主动去数据库查询B对象的集合)。

 

解决办法:

      在对应实体类中修改配置文件(增加lzay=”false”属性).

分享到:
评论

相关推荐

    hibernate4.1中文官方文档

    通过使用Hibernate,开发者可以避免编写大量的JDBC代码,提高开发效率并减少出错的可能性。 二、安装与配置 在开始使用Hibernate 4.1之前,需要将其依赖库添加到项目的类路径中。通常,这可以通过Maven或Gradle等...

    hibernate_配置cascade_及all-delete-orphan.doc

    但要注意的是,此选项并不包括级联删除。 2. **delete**: 此选项允许在删除父实体时,同时删除与之关联的子实体。然而,这种方式不包含级联保存或更新的功能。 3. **all-delete-orphan**: 这是最强大的cascade...

    hibernate学习总结文档

    **Hibernate 框架概述** ...理解并熟练掌握 Hibernate,能够提升开发效率,减少出错的可能性,是 Java 开发者的必备技能之一。通过实践和深入学习,你可以更好地利用 Hibernate 实现高效、可靠的数据库应用。

    hibernate传智播客

    10. **级联操作(Cascading)**:在关联关系中,设置级联操作可以使得对一方的操作自动影响到另一方,如删除一个用户时,其相关的订单也一同被删除。 11. **缓存(Caching)**:为了提高性能,Hibernate提供了缓存...

    hibernate框架开发2016版视频资料

    5. CRUD操作:详细演示如何使用Hibernate进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)等基本数据库操作。 6. HQL与Criteria查询:讲解Hibernate特有的查询语言HQL(Hibernate Query Language...

    hibernate

    延迟加载(Lazy Loading)允许只在真正需要时才加载关联的对象,而级联操作(Cascade)则可以将一个实体的保存、删除操作影响到关联的实体。 9. **性能优化** 了解如何优化Hibernate,包括批处理、合理使用缓存、...

    hibernate_annotations.rar

    6. **级联操作 (@Cascade)**:定义在关系注解中,用于控制关联对象的持久化行为,如保存、更新、删除等。 7. **懒加载 (@LazyCollection)**:用于延迟加载关联集合,提高应用性能。 8. **索引注解 (@Index)**:...

    Hibernate開發指南.pdf

    通过实例,读者将学会如何使用Hibernate进行CRUD(创建、读取、更新、删除)操作。此外,还将探讨HQL(Hibernate查询语言),它是对SQL的面向对象封装,使开发者能够以对象的方式进行查询。 进一步,书中会涉及高级...

    hibernateDemo_001

    总的来说,"hibernateDemo_001"项目为我们提供了一个实践Hibernate的平台,通过它,我们可以学习到如何配置Hibernate、创建实体类、编写映射文件、操作Session、执行查询、管理事务以及应用懒加载和级联操作等核心...

    hibernate中文参考文档

    6. 提交/回滚事务:完成操作后,提交事务以保存更改,或者在出错时回滚事务。 五、最佳实践 1. 使用接口编程,提高代码的可扩展性和可维护性。 2. 合理利用缓存,但要注意并发控制和数据一致性问题。 3. 避免过多的...

    Hibernate学习笔记

    - **级联操作**:允许在执行某个操作时自动触发对关联对象的操作,如级联保存、级联删除等。 - **事务管理**:Hibernate提供了强大的事务控制能力,可以与Java事务服务(JTA)集成,确保数据的一致性和完整性。 - ...

    Hibernate的使用以及介绍

    - **Session**: Hibernate的Session接口是应用程序与数据库之间的桥梁,负责执行CRUD操作(创建、读取、更新和删除)。 - **SessionFactory**: SessionFactory是线程安全的,用于创建Session实例,是Hibernate的...

    hibernate入门示例代码

    Hibernate 支持懒加载(Lazy Loading),即关联的对象不会在加载实体时立即加载,而是在需要时才加载。此外,还可以通过 `@OneToMany`, `@ManyToOne`, `@ManyToMany` 等注解配置级联操作,比如级联保存、更新和删除...

    hibernate入门

    在数据持久化的过程中,Hibernate提供了多种级联操作,如保存(Cascade.PERSIST)、更新(Cascade.UPDATE)和删除(Cascade.REMOVE)。这使得对一个对象的操作可以直接影响到与其关联的对象,简化了代码。 事务管理...

    hibernate(user-role多对多映射)

    通过使用Hibernate,我们可以用面向对象的方式处理数据库交互,提高开发效率并减少出错的可能性。 **二、多对多映射的概念** 在关系数据库中,多对多关联是指两个表之间存在多个对应关系,例如,一个用户可以有多个...

    hibernate3.2中文参考手册

    在使用Hibernate 3.2时,首先要进行项目配置。这包括创建`hibernate.cfg.xml`配置文件,其中包含了数据库连接信息、方言设置、缓存策略等。此外,还需要为每个持久化类创建对应的映射文件(.hbm.xml),定义对象与...

    hibernate资料

    综上所述,Hibernate是一个强大的ORM工具,通过深入学习和实践,开发者可以有效地将Java对象与数据库进行无缝对接,提高开发效率,减少出错概率。这三本书籍将为初学者和有经验的开发者提供宝贵的指导,帮助他们更好...

    HibernateDemo

    6. **事务提交/回滚**: 数据操作完成后,根据需求提交事务或在出错时回滚。 7. **关闭Session**: 操作完成后,关闭Session,释放资源。 **其他重要概念** 1. **级联操作(Cascading)**: 可以设置实体间的关系,...

    Hibernate开发指南

    此外,Hibernate支持级联操作,使得对关联对象的处理更为简便。 事务管理在任何数据库应用中都是至关重要的。Hibernate提供了事务API,使得开发者可以在应用程序级别控制事务的开始、提交和回滚。同时,它也支持...

    Hibernate_day03.zip

    在实际应用中,我们需要关注的是懒加载和急加载策略,以及如何设置关联的级联操作,比如删除一个部门时是否同步删除该部门的所有员工。 2. **多对多关联映射**: 多对多关联意味着一个实体可以与多个其他实体相关...

Global site tag (gtag.js) - Google Analytics