Hibernate--cascade属性

转载 2016年08月30日 22:20:24

cascade属性:表示级联。默认值为none。
这里写图片描述


注意例如,session.save(grade)时,我们希望将grade包含的student级联操作保存到数据库中,就必须在grade中添加学生,这样grade才关联了student:

            grade.getStudents().add(stu1);
            grade.getStudents().add(stu2);
            session.save(grade);

并且在Grade.hbm.xml中Set节点设置cascade:

<set name="students" inverse="true" cascade="all">
            <key>
                <column name="gid" />
            </key>
            <one-to-many class="com.entity.Student" />
        </set>

若没有在grade中添加student,仅仅student在添加grade,如:

            stu1.setGrade(grade);
            stu2.setGrade(grade);
            session.save(grade);

这样在保存grade时,并不能级联操作,因为在grade中未存储任何student,grade未关联student。而只是单方面在student中添加grade,student关联了grade。
那么此时我们可改为:

            stu1.setGrade(grade);
            stu2.setGrade(grade);
            session.save(stu1);
            session.save(stu2);

并在Student.hbm.xml的many-to-one设置cascade属性:

<many-to-one name="grade" class="com.entity.Grade" fetch="select" cascade="all">
            <column name="gid" />
        </many-to-one>

这样就可以将grade和student同时存储在数据库中。

Hibernate中cascade与inverse属性详解

  • 2008年10月22日 11:06
  • 55KB
  • 下载

Hibernate集合映射中的inverse属性以及cascade级联

Inverse属性 Inverse属性,是在维护关联关系的时候起作用的。          表示控制权是否转移。(在一的一方起作用)   Inverse , 控制反转。 Inverse ...

Hibernate中的inverse和cascade属性

参见文章 Hibernate中的inverse在表关系映射中经常应用,   inverse的值有两种,“true”和“false”。inverse="false"是默认的值,如果设置为tr...

hibernate xml中cascade 的属性解说

当关联双方存在父子关系,就可以在 set 处设定 cascade 为 all-delete-orphan 所谓父子关系,即指由父方控制子方的持久化圣明周期,子方对象必须和一个父方对象关联。如果删...

Hibernate的inverse,cascade属性简单介绍

本篇博客将在上篇双向一对多的情况下介绍inverse,cascade属性的作用 inverse(反转) inverse:指定关联关系的控制方向,默认由one方来维护。在关联关系中,inverse="f...

Hibernate中inverse和cascade属性

Inverse和cascade是hibernate映射中最难掌握的两个属性。两者都在对象的关联操作中发挥作用。 1.明确inverse和cascade的作用 inverse 决定是否把对对象中集合的改...
  • c_p_h
  • c_p_h
  • 2017年03月22日 20:51
  • 84

Hibernate中的cascade级联属性一对多多对一的增删改过程探讨

在实际业务中,Hibernate应用很广泛,其中的cascade属性也具有很强的可操作性,这里对于其一对多多对一的增删改进行探讨,来整理验证其适用性...

SSH框架之Hibernate的inverse属性、cascade级联操作

一、inverse属性 1、Inverse属性,是在维护关联关系的时候起作用的。 表示控制权是否转移。(只在一的一方起作用(本例中为Dept),多的一方无法使用) ...

Hibernate的Cascade和Inverse属性

Cascade:设置级联操作的程度。        Inverse:是否放弃维护级联关系。 Cascade属性的取值有: 1、none:忽略其他关联的对象,默认值。 2、save-update...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate--cascade属性
举报原因:
原因补充:

(最多只允许输入30个字)