0

在我的应用程序中,我有两个类:ActivityUser. 它们之间的关系是:

  • 一个活动可以有多个用户。我List<User>在课堂上有一个为此目的的领域Activity
  • 一个用户可以属于多个活动,并且在每个活动中他/她可以具有特定的角色。我已经提炼了一个Map<String, String>in User,其中keythisMap是 theactivityId并且值是roleId。我没有任何Role表格,因为只有四个预定义角色。

我无法理解 和 之间是否存在任何ManyToOneOneToManyManyToMany关系。或者我应该简单地将整个对象与数据库一起存储。如果是这样,我怎样才能存储一个整体和一个.UserActivityList<User>ActivityMap<String, String>UserListMap

任何指针都会对我很有帮助。

4

2 回答 2

1

我首先会考虑数据库中的设计。如果我理解正确,您将有 3 个表:

  • 用户
  • 活动
  • 参与

其中 Participation 将具有用户的外键、活动的外键和角色。

所以我会把它简单地映射为

  • 用户有一个参与的 OneToMany
  • 活动有一个参与的 OneToMany

当然,您可以使这两个关联成为双向的。

于 2013-02-05T10:15:28.397 回答
1

User <-> Activitymany to many。可导航性可以bidirectional——选择权在你。您还需要一个UserActivityMap具有三个属性(userId、ActivityId、roleId)的对象。RoleId 可以是枚举或 RoleObject 的 id。在后者的情况下,您可以定义一个查找表并将 RoleObject 映射到该表。

于 2013-02-05T10:17:38.627 回答