假设您有两个实体:User
和Decision
。
您希望将用户列表与每个决策相关联,因此您可以在@OneToMany
类中添加Decision
关系。
这将创建一个类似于
的连接表|decisionId| userId |
|----------|--------- |
|1 | 2 |
|1 | 3 |
|1 | 5 |
|1 | 6 |
|1 | 8 |
|1 | 9 |
|2 | 1 |
|2 | 3 |
|2 | 7 |
|3 | 5 |
|3 | 7 |
|3 | 8 |
|3 | 9 |
这是棘手的事情。我需要将“新”值与上面的每个关联相关联。这是,对于决策用户列表中的每个用户,我想在User
中存储另一个值(在这种情况下为double)和Decision
的“权重”。
作为第一种方法,我正在创建一个只有Voter
和User
属性的新类weight
,并为{{1}添加@OneToMany
关系而不是Voter
类中的User
。
但是,这会产生两个表:连接表和Decision
实体表。
Voter
但是......在第一个案例的连接表中添加一个列会“非常容易”......但是“权重”数据会浮动在一个未知的维度中,因为它不会与任何Java类相关联......
这有道理吗?用hibernate做最好的做法是什么?