在我的应用程序中,我有两个类:Activity
和User
。他们之间的关系是:
List<User>
class。Activity
Map<String, String>
中对User
进行了细化,其中key
的{{1}}为Map
,值为activityId
。我没有任何roleId
表,因为只有四个预定义的角色。我无法理解Role
和ManyToOne
之间是否存在任何OneToMany
或ManyToMany
或User
关系。或者我应该简单地将整个Activity
对象与List<User>
和Activity
一起存储在数据库中Map<String, String>
。如果是这样,我如何存储整个User
和List
。
任何指针对我都非常有帮助。
答案 0 :(得分:1)
我首先考虑一下设计在数据库中的作用。如果我理解正确,你将有3个表:
其中,参与者将拥有用户的外键,活动的外键和角色。
所以我将其简单地映射为
当然,你可以将这两个关联双向化。
答案 1 :(得分:1)
User <-> Activity
是many to many
。导航性可以是bidirectional
- 选择权属于您。
您还需要一个具有三个属性的UserActivityMap
对象(userId,ActivityId,roleId)。 RoleId可以是RoleObject的枚举或id。如果是后者,您可以定义查找表并将RoleObject映射到该表。