我对如何保存M2M关系有疑问。一方必须始终是拥有方。在我们的场景中,我们有一个实体“角色”和一个实体“用户”。角色可以包含许多用户,并且可以将用户分配给不同的角色。 “角色”实体是拥有的网站。
在Gui中,管理员可以将用户添加到角色。当我与分配的用户保存角色时,一切正常。现在我们应该提供一种为用户分配角色的方法。 Gui对此没有问题,但我不知道如何保存更改的角色分配。保存用户不会保存指定的角色,因为它不是拥有者。
还有其他办法吗?我不确定,但我认为唯一的方法是将所选用户添加到所有已分配的角色并保存角色。
答案 0 :(得分:0)
要保存关联,您需要保存关系的拥有方。为了保持内存中对象的一致性,您可能希望在更新用户和角色中的集合的服务方法中管理它,并且(如果在您的实现中有意义)为您执行保存,然后无论是将用户添加到角色还是将角色添加到用户,都可以调用该方法进行关联。这将至少将模型实现从服务的调用者中抽象出来,并确保事情保持正确。