您的位置:首页 > 其它

Hibernate 级联删除

2011-11-03 21:12 232 查看
在一对多的关系映射中

在一的一方配置文件中将会配置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>


更改配置文件信息后就可以实现级联删除了,即删除一的一方后,在多的一方中引用到一的一方的主键的全部记录将会被删除

粗略的总结了一下 有错之处希望有朋友看到了多多指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: