Hibernate关联关系 --- 集合映射中的级联保存和是否维护表的关联关系
1.Cascade --- 级联保存
(1)Cascade:用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作
(2)常用的cascade有:
none all save-update delete delete-orphan(noe-to-many)
(3)使用实例
<set name="emps" cascade="save-update">
<key column="depart_id"/>
<one-to-many class="Employee"/>
</set>
说明:如果使用了这个属性,在一对多的映射中,持久化属性的时候,调用session.save()方法时,只调用一的那一方就行了,因为它相当于是级联保存,在保存的时候不仅保存的是普通的属性,也保存集合类的对象
(4)注意使用:
一般对多对一和多对多中不设置级联,在一对一和一对多中设置
只有两个对象存在关联,才有关联的操作
级联删除的用的时候要慎重
2.Inverse 表示是否放弃维护关联关系
(1)Inverse默认的是真,表示该对象不维护关联关系
(2)在一对多的情况下,一般是在一对一的一端放弃关联关系
(3)one-to-many维护关联关系就是更新外键。many-to-many维护关联关系就是在中间表增减记录。
(4)实例
<set name="emps" inverse="false">
<key column="depart_id"/>
<one-to-many class="Employee" />
</set>