为什么会触发delete语句
因为你new了一个新的rightList,然后赋值给了role.rights
,覆盖了role原有的rights,所以要先执行删除语句,删掉right对象中原有的rights,再插入新的数据。
如果你不是new ArrayList
作为rightList,而是通过getRights获取一个rightList,就不会触发删除语句。
为什么会触发delete语句
因为你new了一个新的rightList,然后赋值给了role.rights
,覆盖了role原有的rights,所以要先执行删除语句,删掉right对象中原有的rights,再插入新的数据。
如果你不是new ArrayList
作为rightList,而是通过getRights获取一个rightList,就不会触发删除语句。