Java Hibernate类设计、持久化列表和HashMap
在我的应用程序中,我有两个类:Java Hibernate类设计、持久化列表和HashMap,java,hibernate,annotations,Java,Hibernate,Annotations,在我的应用程序中,我有两个类:Activity和User。它们之间的关系是: 一个活动可以有多个用户。为此,我在活动课程中有一个字段列表 一个用户可以属于多个活动,并且在每个活动中他/她可以有一个特定的角色。我在User中优化了Map,其中该Map的键是活动ID,值是roleId。我没有任何角色表,因为只有四个预定义的角色 我无法理解用户和活动之间是否存在任何多人或多人关系。或者我应该简单地将整个列表对象连同活动和映射一起存储在数据库中。如果是,如何存储整个列表和地图 任何指针都会对我很有帮
Activity
和User
。它们之间的关系是:
- 一个活动可以有多个用户。为此,我在
课程中有一个字段活动
列表
- 一个用户可以属于多个活动,并且在每个活动中他/她可以有一个特定的角色。我在
中优化了User
,其中该Map
的Map
键是
,值是活动ID
。我没有任何roleId
表,因为只有四个预定义的角色角色
用户
和活动
之间是否存在任何多人
或多人
关系。或者我应该简单地将整个列表
对象连同活动
和映射
一起存储在数据库中。如果是,如何存储整个列表
和地图
任何指针都会对我很有帮助。我会首先考虑数据库中的设计。如果我理解正确,您将有3个表:
- 使用者
- 活动
- 参与
- 用户有一个参与的OneToMany
- 活动有一个有人参与的独角戏
用户活动
是多对多
。导航能力可以是双向的,由您选择。
您还需要一个具有三个属性(userId、ActivityId、roleId)的
UserActivityMap
对象。RoleId可以是枚举或RoleObject的id。对于后者,您可以定义一个查找表并将RoleObject映射到该表。谢谢。你指的是参与的角色吗?不,我指的是一个实体,它有一个带用户的ManyToOne、一个带活动的ManyToOne和一个角色(应该作为枚举实现)。因此,参与是一个实体,它模拟给定用户以给定角色参与给定活动的事实。