通过额外的参数来休眠多对多

时间:2014-12-09 21:56:54

标签: java hibernate many-to-many

美好的一天!我有两个班级用户和成就。用户有很多成就,很多用户都可以获得成就 我找到的任何示例都使用user_achievement表,只有两列 - user_id和achievement_id。但我想在这张桌子上存储一些额外的参数 - 例如,用户获得成就的日期 我怎么能用hibernate-xml配置呢?

1 个答案:

答案 0 :(得分:1)

您可以添加其他实体AchievementInstance,然后OneToMany与此实体之间可以建立User关系。 AchievementInstance有一个日期和所需的任何其他字段,还与ManyToOne实体有Achievement的关系。

@Entity
class User {
 @OneToMany
 List<AchievementInstance> achievements;
}

@Entity
class AchievementInstance {
 @ManyToOne
 Achievement achievement;
 ...
 Date date;
}

@Entity
class Achievement {
 ...
}