今天在写一个增加操作时,报错信息如下:SQLCODE=-530, SQLSTATE=23503,该sqlcode说明:“对特定的约束名指定了无效的外健值”。

项目中用的框架是SSH,新增的主对象有多个外键,在新增时,我是根据id或name在数据库中找到外键对象,赋给该主对象的外键。问题是出在当根据id或name没有找到外键对象时,就不赋值,但此时该主对象的外键对象不为空,不知道在哪里new的,所以错误就在此处,该外键对象不是持久化对象,所以报错,我的解决方法是在根据id没有找到对象时,给外键对象赋值为null。 当然这里前提是该外键可以为空。

05-07 09:22