JPA-CascadeType四個屬性的講解

CascadeType.PERSIST:級聯新增(又稱級聯保存):對order對象保存時也對items裏的對象也會保存。對應EntityManager的presist方法。

例子:只有A類新增時,會級聯B對象新增。若B對象在數據庫存在則拋異常

CascadeType.MERGE:級聯合並(級聯更新):若items屬性修改了那麼order對象保存時同時修改items裏的對象。對應EntityManager的merge方法 。
例子:指A類新增或者變化,會級聯B對象(新增或者變化)

CascadeType.REMOVE:級聯刪除:對order對象刪除也對items裏的對象也會刪除。對應EntityManager的remove方法。

例子:REMOVE只有A類刪除時,會級聯刪除B類;

CascadeType.REFRESH:級聯刷新:獲取order對象裏也同時也重新獲取最新的items時的對象。對應EntityManager的refresh(object)方法有效。即會重新查詢數據庫裏的最新數據。

CascadeType.ALL:以上四種都是。

廣大讀者,建議不要使用級聯操作,到時候你會遇到很多null的問題,自己手動級聯更好些,不容易出問題

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