为了账号安全,请及时绑定邮箱和手机立即绑定

一对多多对一保存问题

既然是多对一一对多双向,在测试中,为什么不可以通过保存学生而保存教室(stu.setRoom(room);stu2.setRoom(room);)?而选择保存教室集合来保存学生(list.add(stu);list.add(stu2);room.setList(list);)?一旦反过来就会报a foreign key constraint fails,这不跟双向这一说冲突么

正在回答

4 回答

因为设置外键不同啊,必须先存被引用外键的对象,才能存储引用外键的对象啊。一对多是将学生作为班级的外键,所以先存学生。多对一是将班级作为学生的外键 所以先存储班级。

0 回复 有任何疑惑可以回复我~

同样问题求解答

0 回复 有任何疑惑可以回复我~

我也发现了 可以保存班级 级联保存学生  反过来就会报错. 

感觉越学越糊涂.  xml写的 都可以级联保存.

0 回复 有任何疑惑可以回复我~

我觉得理论上说可行的,但是“多”方和“一”的注解肯定要修改,因为你的外键已经变了!!一对多中外键是“多”的主键,反过来就需要把“一”的主键作为“多”的外键。你可以修改下你的代码再试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Hibernate注解
  • 参与学习       37175    人
  • 解答问题       93    个

轻松学习Hibernate常用注解,学完本课能够灵活应用

进入课程

一对多多对一保存问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号