Hibernate之一对多cascade,inverse
一个Student对应一个Classes,一个Classes包含多个Student;
<hibernate-mapping>
<class name="com.po.Classes" table="classes">
<id name="id" type="integer">
<generator class="native" />
</id>
<property name="name" type="string">
</property>
<set name="students" cascade="save-update" inverse="true">
<key column="classid" />
<one-to-many class="com.po.Student"/>
</set>
</class>
</hibernate-mapping><one-to-one>元素的cascade属性表名操作是否从父对象级联到被关联的对象,它的取得可以是一下几种:
none:在保存,删除或修改当前对象时,不对其附属对象(关联对象)进行级联操作,是默认值
save-update:在保存,更新当前对象时,级联保存,更新附属对象(临时对象,游离对象);
delte:在删除当前对象时,级联删除附属对象。
all:所以情况下均进行级联操作,即包含save-update和delete操作
inverse属性默认是false的,就是说关系的两端都来维护关系。当在关系的一头,如Classes中的set中用了inverse="true"时,
那就代表关系是由另一端维护的(Student) 就是说当插入Student时,不会操作Classes表,即使Student已经知道了关系。
浙公网安备 33010602011771号