Hibernate JPA 多对对 ManyToMany

考试表:

 

 

题目表:

 

 

生成的中间表的SQL如下:

 

 

当删除【从】表 subject 的记录的时候,将会由于表之间的约束而出错..................

解决办法:

 

删除中间表,修改表结构如下:  drop table e_exam_subject

 

然后重新创建表

 

 

  CONSTRAINT `FK419B1AA6A567259` FOREIGN KEY (`s_id`) REFERENCES `e_subject` (`id`) ON DELETE CASCADE,
  CONSTRAINT `FK419B1AA6F392544E` FOREIGN KEY (`e_id`) REFERENCES `e_exam` (`id`) ON DELETE CASCADE

 

 

 

 

 

另外注意一点:主表的关联方式:

CascadeType.PERSIST,CascadeType.PERSIST,CascadeType.MERGE

 

如果设置为All的时候, 删除主表的时候 从表中的记录会一并删除;故而修改为

CascadeType.PERSIST,CascadeType.PERSIST,CascadeType.MERGE

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值