在一对多的关系映射中
在一的一方配置文件中将会配置set节点信息:
*.hbm.xml配置文件中set节点的属性:
Lazy:默认是true 即使用延迟加载,false表示即时加载;
Order-by:一的一方set集合内多的一方实体集合的排序方式 默认是主键排序 但可以更改;
Cascade:是否使用级联操作;配置方法:cascade的值有四个,如使用all表示对所有操作都级联;
Inverse:反转。True表示由对方负责控制,false表示由自己控制。
级联删除:(在一的一方的配置文件中set节点进行配置)
cascade的值有四个,如使用all表示对所有操作都级联;
把set节点的属性inverse的值改为true:
就可以实现级联删除了,即删除一的一方后,在多的一方中引用到一的一方的主键的全部记录将会被删除
给配置文件加上配置信息例下:
一的一方:
<set name=”多的一方的表名(hibernate中写实体名)” inverse=”true” cascade=”all”>
<key>
<column name=”一的一方的主键” not-null=”true”>
<one-to-many class=”类的完整路径”/>
<key>
</se>
多的一方:
<many-to-one name=”一的一方的表明(hibernate中为实体名)” class=”类的完整路径”/>
<column name=”一的一方的主键” not-null=”true” />
</many-to-one>
更改配置文件信息后就可以实现级联删除了,即删除一的一方后,在多的一方中引用到一的一方的主键的全部记录将会被删除
粗略的总结了一下 有错之处希望有朋友看到了多多指正。