我有一類與Hibernate映射是這樣的: ... 休眠:沒有級聯更新到孩子層如果父母是新
基本上我傳播新(或舊的)磁帶,然後點擊
session.saveOrUpdate(tapeInstance);
如果磁帶是舊的或新的。我添加的streamrefs全部都是新的(但是如果我從數據庫中檢索磁帶,我希望能夠輕鬆訪問其流文件)。
不幸的是,我不能像我想要的那樣「懶惰」 - 我想要的行爲基本上是「如果磁帶是新的,那麼這意味着它的所有流是新的,所以從不檢查是否可以對它們進行更新,總是插入它們「,但是」如果磁帶是舊的,更新它,刪除舊的流引用,然後將新的流引用添加到它 - 它們總是新/唯一,所以只需添加它們「這樣基本上,不是級聯更新通過,而是通過級聯存儲。這可能嗎?
我已經通過設置級聯=「合併,刪除,鎖定,刷新,驅逐,複製,刪除孤兒」(基本上,它沒有保存更新),然後手動刪除所有舊流,然後手動一次添加一個流。有沒有更好的辦法?