我有播放列表實體,擁有使用CascadeType.All註釋的剪輯集合。雖然實際上它是雙向關係,但我將其定義爲單向避免級聯。因此剪輯具有playlistId整數屬性,不參考播放列表。剪輯被定義爲播放列表的一部分,所以沒有它就無法存在。因此,DB中的'Playlist_ID'列也被定義爲非null,getPlayListId()也是如此。我讀到,如果我從集合中刪除項目,級聯認爲它是刪除關係,但不是刪除實體。在我的情況下,這是一個問題,因爲級聯試圖將Playlist_ID列設置爲null並導致違反約束。 Hibernate用null更新子實體而不刪除,如何強制它?
我想要的代碼:
playlist.getClips()除去(0);。 dao.update(播放列表)
將刪除剪輯。有什麼辦法可以做到嗎?
你可以告訴我們的實體和映射 – simonC 2012-03-08 14:35:30