级联操作是指对一个对象的操作(增删该)将传播到关联对象。hibernate是通过关联关系的元素(比如<set>,<one-to-one>, <many-to-one>)的cascade属性来控制级联风格。Hibernate提供了以下几种级联风格:
cascade="none": 默认值, 忽略关联性;
cascade="all": save, update, delete时都执行关联;
cascade="save-update": save, update时执行关联;
cascade="delete": delete时执行关联;
cascade="all-delete-orphan": 与cascade="all"相似,并且会删除脱离关系的对象。
cascade="delete-orphan": 产出所有脱离关系的对象。
测试用例就不写了,以Member和Order为例,改变Member.hbm.xml中
<set name="orders" cascade="all" lazy="true" fetch="select">
<key column="member_id" />
<one-to-many class="model.Order" />
</set>
的cascade属性,然后在MemberHibernateDao中写几个增删改看看效果。