今天在寫一個增加操作時,報錯信息如下:SQLCODE=-530, SQLSTATE=23503,該sqlcode說明:“對特定的約束名指定了無效的外健值”。
項目中用的框架是SSH,新增的主對象有多個外鍵,在新增時,我是根據id或name在數據庫中找到外鍵對象,賦給該主對象的外鍵。問題是出在當根據id或name沒有找到外鍵對象時,就不賦值,但此時該主對象的外鍵對象不為空,不知道在哪里new的,所以錯誤就在此處,該外鍵對象不是持久化對象,所以報錯,我的解決方法是在根據id沒有找到對象時,給外鍵對象賦值為null。 當然這里前提是該外鍵可以為空。