CascadeType.PERSIST只有A类新增时,会级联B对象新增。若B对象在数据库存(跟新)在则抛异常(让B变为持久态)<wbr style="margin:0px; padding:0px"></wbr>
CascadeType.MERGE指A类新增或者变化,会级联B对象(新增或者变化)<wbr style="margin:0px; padding:0px"></wbr>
CascadeType.REMOVE只有A类删除时,会级联删除B类;<wbr style="margin:0px; padding:0px"></wbr>
CascadeType.ALL包含所有;<wbr style="margin:0px; padding:0px"></wbr>
CascadeType.REFRESH没用过。<wbr style="margin:0px; padding:0px"></wbr>
综上:大多数情况用CascadeType.MERGE就能达到级联跟新又不报错,用CascadeType.ALL时要斟酌下CascadeType.REMOVE
CascadeType.MERGE指A类新增或者变化,会级联B对象(新增或者变化)<wbr style="margin:0px; padding:0px"></wbr>
CascadeType.REMOVE只有A类删除时,会级联删除B类;<wbr style="margin:0px; padding:0px"></wbr>
CascadeType.ALL包含所有;<wbr style="margin:0px; padding:0px"></wbr>
CascadeType.REFRESH没用过。<wbr style="margin:0px; padding:0px"></wbr>
综上:大多数情况用CascadeType.MERGE就能达到级联跟新又不报错,用CascadeType.ALL时要斟酌下CascadeType.REMOVE
本文详细解释了数据库级联操作的四种类型:PERSIST、MERGE、REMOVE 和 ALL,包括它们的功能、区别以及应用场景。
344

被折叠的 条评论
为什么被折叠?



