在用hibernate做级联删除操作,a,b表是一对多关系,
其中a表的映射文件配置 <set
name="loginbean"
lazy="true"
inverse="true"
cascade="all-delete-orphan"
sort="unsorted"
> <key
column="ssbm"
>
</key> <one-to-many
class="com.spring.model.bean.LoginBean"
/> </set>b表的映射文件配置
<many-to-one
name="departmentBean"
class="com.spring.model.bean.DepartmentBean"
cascade="none"
outer-join="auto"
update="true"
insert="true"
property-ref="ssbm"
column="ssbm"
/>
但是我现在只删除了a表,却没有级联删除b表的对应记录,我错在什么地方?
其中a表的映射文件配置 <set
name="loginbean"
lazy="true"
inverse="true"
cascade="all-delete-orphan"
sort="unsorted"
> <key
column="ssbm"
>
</key> <one-to-many
class="com.spring.model.bean.LoginBean"
/> </set>b表的映射文件配置
<many-to-one
name="departmentBean"
class="com.spring.model.bean.DepartmentBean"
cascade="none"
outer-join="auto"
update="true"
insert="true"
property-ref="ssbm"
column="ssbm"
/>
但是我现在只删除了a表,却没有级联删除b表的对应记录,我错在什么地方?
这行的问题
还有 那个 cascade 里面 你如果要级联删除的话
写 all 就可以了 反正我一般是写个 all
因为一般可以级联删除的都需要 级联修改 添加
必须要建立外键才能进行级联删除吗?hibernate里面的映射只是逻辑上的,并不要求你的数据库表真的要建立外键。推荐的hibernate的经典书: 深入浅出Hibernate :)