2

我有一个关于如何保存 M2M 关系的问题。一方必须始终是拥有方。在我们的场景中,我们有一个实体“角色”和一个实体“用户”。一个角色可以有多个用户,并且可以将用户分配给不同的角色。“角色”实体是拥有站点。

在 Gui 中,管理员可以将用户添加到角色。当我与分配的用户一起保存角色时,一切正常。现在我们应该提供一种为用户分配角色的方法。用于此的 Gui 没问题,但我不知道如何保存更改的角色分配。保存用户不会保存分配的角色,因为它不是拥有方。

还有另一种方法可以做到这一点吗?我不确定,但我认为这样做的唯一方法是将所选用户添加到所有分配的角色并保存角色。

4

1 回答 1

0

要保存关联,您需要保存关系的拥有方。为了保持内存中对象的一致性,您可能希望在更新用户和角色中的集合并(如果在您的实现中有意义)为您执行保存的服务方法中管理它,然后无论是将用户添加到角色还是将角色添加到用户,都可以调用该方法进行关联。这至少会将模型实现从服务的调用者中抽象出来,并确保事情被正确地持久化。

于 2011-03-09T19:15:40.443 回答