嘗試使用Hibernate 儲存物件時,可能會遇到以下錯誤:
object references an unsaved transient instance - save the transient instance before flushing
理解錯誤
此錯誤表示您的實體中有一個集合,其中包含資料庫中不存在的一個或多個項目。 Hibernate 要求其他實體所引用的所有實體要麼保存(持久化)在資料庫中,要麼標記為瞬態。
解決方案
此錯誤的解決方案是指定集合映射的級聯選項。您可以使用 XML 或註解來執行此操作:
XML:
...
註解:
@OneToMany(cascade = CascadeType.ALL) private ListcollectionName;
Explanation
透過指定cascade="all"或CascadeType.ALL選項,指示Hibernate保存集合中的所有實體保存父實體時到資料庫。這可確保所有引用的實體都保留在資料庫中並解決錯誤。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3