关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
生活随笔
收集整理的這篇文章主要介紹了
关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于hibernate的關聯外鍵生成以及外鍵屬性列的正確插入即:解決外鍵插入時,在關聯表中除了外鍵列為空,其它屬性均正常級聯保存
其實解決辦法十分簡單:
首先確保你能夠級聯保存數據,當然除了關聯表的外鍵列,我們就是為了解決這個問題
首先分析:為什么不能插入數據的外鍵?是因為關聯表對應的另一個表對象為空,所以取不到其id作為外鍵參照
而且如果你剛好設置了外鍵不空,那么你將連關聯表其它數據也插入不了,會一直報:sql語句發送異常,因為你違反了外鍵限制規則完整性
那么解決方法就是:將你映射的關聯表實體類對象的級聯表對應的字段設置為你需要的值
舉例如下:
//文章與文章標簽相互關聯,為一對一關系
//即:文章對象有標簽對象,標簽對象也有文章對象
//這樣他們就有了參照關系,可以正常執行外鍵插入了
數據庫插入異常:
測試代碼:**//文章標簽被設置為文章屬性,且反之亦然** article.setTag(tag); tag.setArticle(article);
其實最終一句話:
就是要設置雙向關聯:
兩邊都能知道對方信息,這樣才能參照
總結
以上是生活随笔為你收集整理的关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql表关联关于Hibernate的
- 下一篇: Java批量完成对文件夹下全部的css与