考试表:
题目表:
生成的中间表的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