双向关联关系下的增删改操作的属性
1.cascade属性: eg:<set name = "emps" cascade="sava-update"></set>
none:当Session操纵当前对象时,忽略其他关联的对象,他是cascade属性值得默认值
sava-update:当通过Session的sava()、update()、及saveOrUpdate()方法来保存或更新当前对象时,
级联保存所有关联的新建的瞬时状态的对象,并且级联更新所有关联的游离状态的对象
delete:当通过Session的delete()方法删除当前对象时,会级联删除所有关联的对象
all:包含save-update、delete的行为
2.<set>元素的inverse属性:
"inverse"直译为“反转”
inverse=“false” 为主动方,由主动方负者维护关联关系 默认值
inverse=“true”
结论: 1.在映射一对多的双向关联关系是,应该在“one”方把<set>元素的inverse属性设为true,提高应用的性能
2.在建立两个对象的双向关联时,应该同时修改关联的对象的相应属性
3.<set>元素的order-by属性
eg:<set name = "emps" inverse="true" order-by="ename asc">
4.当一对多或者多对多用List集合进行绑定时,在映射文件中 可以把"set"标签改为“bag”标签
同理:用set集合进行绑定时,在映射文件中 可以把"bag"标签改为“set”标签