我在尝试将数据保存到包含外键列的表中时遇到此错误。
这是我的场景我从两个不同的组合框中选择了两个选项(每个组合框中有一个选项),我编写了两个字符串,所有这些都是为了构建要保存的对象,但是在提交时我得到了以下错误:
警告sqlexceptionhelper-sql错误:1452,sqlstate:23000错误sqlexceptionhelper-无法添加或更新子行:外键约束失败( students
. student
,约束 fk_student_career
外键( student_career
)参考文献 career
( career_name
)删除时无操作更新时无操作)错误异常Apperstandardimpl-hh000346:托管刷新期间出错[org.hibernate.exception.constraintviolationexception:could not execute statement]
这些是我的类,我把它们放在我的gists存储库中,让这篇文章简短一点。
我已经遵循了许多教程,并阅读了大量的信息,但不能设法使它的工作。我用过cascadetype,joincolumn和很多其他的东西,但都失败了。。。
请帮帮我。。。
p、 学生:我在自学,这是一种实践。
1条答案
按热度按时间lf3rwulv1#
改变
Student
类Map(我只包含了相关部分)到:referencedcolumnname用于显式Map
Career
正确列的外键career_name
而不是它的idcareer_id
,有关详细信息,请查看此相关问题。已添加cascadetype.persist以将两者保存到
Career
以及Section
保存时Student
,否则,数据库将找不到Student
的外键,(我想,这就是SqlExceptionHelper
)