我有 2 个实体:1)用户 2)部门。
每个都包含另一个的 SET,因为它们之间的关系是多对多,
我在用户实体和部门实体上标记了(CascadeType.ALL),当我这样做时:
userX.getDepartments.remove(departmentX);
save(userX);
它按预期工作 - 它实际上意味着
departmentX.getUsers.contains(userX) == false.
被隐式调用。
但是,当我这样做的时候
departmentY.getUsers.remove(userX);
save(departmentY);
它不会级联!意义——我能做到
userX.getDepartments.contains(departmentY) == true
任何想法为什么级联都只能以一种方式工作?有解决办法吗?
谢谢