spring+hibernate mysql 一对多+多对多, 级联删除问题。 真心求教。
一共是3张表,活动,报名单,我的活动
<!-------下面是活动表的HBM配置--------->
<!-- 活动报名单 -->
<set name="activityLists" table="t_activitylist" inverse="true" cascade="delete" >
<key column="fk_actid"></key>
<one-to-many class="com.fcwr.model.ActivityList" />
</set>
<!-- 我的活动 -->
<set name="myActivitys" table="t_activs" inverse="true" cascade="delete">
<key column="fk_actia"></key>
<many-to-many class="com.fcwr.model.MyActivity" column="fk_actim" />
</set>
<!-------下面是报名单的HBM配置---------->
<!-- 活动 -->
<many-to-one name="activity" column="fk_actid" class="com.fcwr.model.Activity" ></many-to-one>
<!-------------下面是我的活动 HBM配置----------------->
<!-- 活动 -->
<set name="activitys" table="t_activs" >
<key column="fk_actim"></key>
<many-to-many class="com.fcwr.model.Activity" column="fk_actia"/>
</set>
我要做的是:删除活动。把报名单,我的活动全部数据删除。
结果:
我删除活动报错。
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback;
SQL [delete from t_activity where f_id=?];
Cannot delete or update a parent row: a foreign key constraint fails (`fcwr`.`t_activitylist`, CONSTRAINT `FK3C3F4A18E0E535F0` FOREIGN KEY (`fk_actid`) REFERENCES `t_activity` (`f_id`)); nested exception is com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`fcwr`.`t_activitylist`, CONSTRAINT `FK3C3F4A18E0E535F0` FOREIGN KEY (`fk_actid`) REFERENCES `t_activity` (`f_id`))
上面是错误信息。
应该是级联没有关联上。