`
huanshao
  • 浏览: 540 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate之Cascade分析

 
阅读更多

cascade 级联:

属性值为:none, save-update, delete, all, delete-orphan

分析:

以班级和学生(OneToMany)为例:

1.  如果是 clazz.getStudents.add(stu1), stu1是刚new出来的,是临时对象,没有持久化,会报错

2.  把none 改为 save-update 就成功

3.  当是delete时, 删除一个班级,就会删除班级所有学生,这就是级联

4.  当时All时,就包含了2,3两个属性功能,这是不要两边设ALL,否则,相互关联就会把班级学生都删掉

5.  在4中,如果clazz.getStudents.remove(stu1), 则不会删掉 stu1,只会把 外键设为NULL; 用delete-orphan

     就可解决。

详解:http://baobeituping.iteye.com/blog/868394

分享到:
评论

相关推荐

    Hibernate cascade (级联).doc

    ### Hibernate级联(Cascade)详解 #### 一、概述 Hibernate 是一款强大的对象关系映射 (ORM) 框架,它允许开发人员将 Java 对象模型映射到数据库表,从而极大地简化了数据访问层的开发工作。在 Hibernate 中,...

    hibernate结构框架及组要实现类的深入分析

    在深入分析 Hibernate 结构框架之前,我们先来了解一下核心概念。 **1. Hibernate 配置文件** Hibernate 的配置文件通常为 `hibernate.cfg.xml`,它定义了数据库连接、缓存、事务管理和映射文件的位置。例如,你...

    hibernate集合映射inverse和cascade详解.txt

    在深入探讨Hibernate集合映射中的`inverse`与`cascade`属性之前,我们首先需要理解Hibernate框架的基本概念。Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为Java应用程序提供了一种将对象模型与数据库...

    Hibernate教程15_关联关系中的CRUD Cascade_Fetch

    在本教程中,我们将深入探讨Hibernate中的关联关系及其在CRUD操作中的应用,特别是关于Cascade和Fetch策略。Hibernate是Java领域广泛使用的对象关系映射(ORM)框架,它允许开发者用面向对象的方式来处理数据库交互...

    hibernate

    根据提供的文件信息,我们可以深入探讨Hibernate框架中的几个关键概念,特别是`fetch`, `lazy`, `cascade`, 和 `inverse`关键字的使用与理解。这四个概念在处理对象关系映射(ORM)时非常重要,尤其是在Java环境下...

    Hibernate开发租房系统2 源码

    描述提到“使用cascade和inverse优化区和街道关联关系”,这意味着我们将深入理解Hibernate的cascade和inverse属性,以及它们在双向一对多关联关系中的应用。 Hibernate是Java领域中广泛使用的对象关系映射(ORM)...

    优化Hibernate性能的几点建议

    此外,还可以通过分析Hibernate的性能指标来调整诸如`hibernate.jdbc.batch_size`等参数,以达到最佳性能平衡。 总之,通过上述几个方面的优化措施,可以显著提高基于Hibernate构建的应用程序的性能。在实际应用中...

    传智播客hibernate教程_保存多对一关联关系的更进一步分析

    在Java的持久化框架Hibernate中,实体关联是其核心特性之一,它允许我们在数据库中建立对象之间的关系,以便更好地模拟真实世界的数据模型。本教程“传智播客hibernate教程_保存多对一关联关系的更进一步分析”深入...

    hibernate bag 集合映射

    @org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.ALL}) private List<YourEntity> yourEntities; ``` `mappedBy`指定了关联的反向属性,`CascadeType.ALL`表示级联操作。 3. **...

    Hibernate Soruce Code 源代码

    8. 高级特性:包括懒加载(Lazy Loading)、级联操作(Cascade)、事务管理、事件监听器、状态转换等。 9. 深入源码学习的价值:了解Hibernate如何执行SQL、如何处理缓存、事务控制机制等,有助于解决实际开发中的...

    Hibernate 项目图片资料

    【Hibernate 框架详解】 Hibernate 是一个强大的Java...这些知识点涵盖了Hibernate的基本使用,通过分析压缩包中的图片资源,可以更直观地理解每个概念。如果你想要深入学习Hibernate,这个压缩包将是极好的辅助材料。

    深入浅出Hibernate完整版

    此外,还讨论了unsaved-value、Inverse和Cascade等概念,以及延迟加载机制,这些都是理解Hibernate数据访问模式的关键。 #### 事务管理与锁机制 事务管理是任何数据库操作中不可或缺的一部分,文档不仅阐述了基于...

    hibernate框架一对一测试案例

    运行与结果分析 运行测试案例后,应检查数据库中的数据是否符合预期,即`Person`表和`DriverLicense`表的关联关系是否正确建立。同时,可以尝试通过查询来验证关联是否能正常工作。 ### 5. 总结 学习并理解...

    hibernate set 集合映射

    1. **级联操作**:通过设置`cascade`属性,我们可以让Hibernate自动处理关联对象的保存、更新和删除操作,简化业务逻辑。 2. **懒加载和即时加载**:通过设置`lazy="true"`,集合可以在需要时才从数据库加载,提高...

    Hibernate教程PPT

    10. **案例分析**:通过实际例子演示如何在项目中运用Hibernate,解决具体问题。 学习Hibernate教程,不仅能够掌握ORM的原理和实践,还能提升Java Web开发的技能,为构建高效、稳定的业务系统打下坚实基础。

    hibernate-3.2.5.源代码....

    通过分析Hibernate 3.2.5的源代码,我们可以深入理解这些概念的实现细节,包括类的设计、方法的调用流程、数据映射的处理逻辑等,这对于提升Java数据库开发技能和优化ORM框架的应用具有极大价值。同时,源码学习也能...

    hibernate_second5项目源码

    通过分析和理解【hibernate_second5项目源码】,开发者不仅可以深入学习Hibernate的用法,还能掌握如何在实际项目中处理复杂的数据关系,提高数据库操作的效率和灵活性。对于想要提升Java Web开发技能的程序员来说,...

    Hibernate教程07_关系映射之一对一双向主键关联

    在" Hibernate教程07_关系映射之一对一双向主键关联"中,我们将学习如何设置这种关联。首先,我们需要创建两个实体类,例如`Employee`和`Department`。在每个类中,我们都需要定义主键字段,并用`@Id`注解标记。然后...

Global site tag (gtag.js) - Google Analytics