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
就可解决。