1 级联属性:hibernate一方和多方设置关联关系,当一方发生相应修改时(见下表),多方不用进行显式修改,也能进行相应修改。
级联在一方和多方xml中都可以设置
属性值 | 含义和作用 |
all | 对所有操作进行级联操作 |
save-update | 执行保存和更新操作时进行级联操作 |
delete | 执行删除操作时进行级联操作 |
none | 对所有操作不进行级联操作 |
2 demo
xml
<set name="students" table="student" inverse="true" cascade="save-update"> <key column="gid"> </key> <one-to-many class="com.ddwei.entity.Student"/> </set>
java
public static void testManyToOne(){ Student stu1 = new Student("小明","男"); Student stu2 = new Student("小红","女"); Grade grad1 = new Grade("java三班","java三班"); stu1.setGrade(grad1); stu2.setGrade(grad1); grad1.getStudents().add(stu1); grad1.getStudents().add(stu2); Session ses1 = HibernateUtil.getSession(); Transaction tran = ses1.beginTransaction(); ses1.save(grad1); // ses1.save(stu1); // ses1.save(stu2); tran.commit(); HibernateUtil.closeSession(ses1); }
诸葛