在SQL Server新增時出現錯誤INSERT statement conflicted with the FOREIGN KEY constraint
時,如果外鍵參考的資料表確實存在要新增的主鍵值,因此排除了參考的外鍵值不存在的問題,別懷疑,請依照訊息提供的資料表名稱去檢查該資料表的關聯性(外鍵)設定是否正確。
今天碰到的情況是在使用Hibernate JPA透過在主實體的@OneToMany
設定cascade=CascadeType.PERSIST
來同時插入主表和子表的資料,但新增時發生上述錯誤,一開始以為是Hibernate JPA的設定錯誤,找了半天快要崩潰,隔天一早直接在資料庫手動新增才發現問題根本不在應用程式端,而是資料表的關聯性設定有錯(因為我一直以為我設定是正確的),還好沒有花更多時間在Hibernate JPA那邊琢磨。
沒有留言:
張貼留言