save|update|saveOrupdate

先說明一下情況:
主表:REGISTER,關聯表(子表):REGISTER_CONTACT
在進行數據保存的時候可以通過級聯的方式進行保存,這樣在數據庫中兩張表中就有對應的數據。但是如果將這張表查詢出來後進行保存(說明:兩張都有各自的ID,但是我卻只持有主表的ID。爲了簡單我就用級聯的方式進行保存,那麼我現在做的第一件事,就是先刪除原來的記錄,那麼子表的數據是生成即是沒有ID的。這樣,主表有ID,子表中的數據是沒有ID)這時我採用的是saveOrUpdate,這樣就會報一個錯:ORA-02291: integrity constraint (AMOC.FK_EXHIBITI_REF_REGIS_EXHIBITI) violated - parent key not found,在網上找了好多的地方都沒有找到解決方案,但是最找到一句話(不好意思網頁關掉了)。後試驗做出來了。那就是所有的不管save|update|saveOrUpdate在級聯持久化操作時,都是同一個方向(如save方法,那麼與主表級聯相關的所有表都是進行保存,同理update),而不是和個方向的(save-update-delete同時存)。
下面說的話纔是重點:
saveOrUpdate方法讓我產生了疑惑,我這樣猜想的那就是主表是update,而對於子表來說是save,但是我錯了。saveOrUpdate也是在一個方向上進行操作。爲了得出這點有用的信息,我不停的增加測試數據。但是確一次又一次被刪除,看着很是心痛

上面是心得:但是在我做的測試應該對於上面所說的操作都應該是同一個方向上的。但是我卻拿不出其他的證據來推翻我我這樣的結論。希望這個信息能幫助那些需要這個幫助的人們。請哪個能人看見了,與我意見相反的人給一點意見。謝謝。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章