一个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已经知道了关系。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14405.html