在Hibernate中的联结表中添加一对多关系

时间:2016-05-26 19:58:18

标签: java hibernate many-to-many foreign-key-relationship junction-table

我有两张关于多对多关系的表

Table 1           Table 2          Junction Table
---Game---      ---Player---      ---GamePlayer---
gameID(PK)      playerID(PK)      gameID
gameDetails     playerDetails     playerID 
                                  PK(gameID,playerID)

我还有一张桌子"设置"

Table 
---Setting---
settingID
settingName
settingValue
FK(gameID,PlayerID)

与游戏和玩家的关系

  • 玩家可以为每个游戏设置多个设置。

我不知道如何在hibernate中实现它。

如果这是一个简单的解决方案,请道歉。我是hibernate的新手。一些帮助或更好的解决方案将不胜感激。

1 个答案:

答案 0 :(得分:0)

对于设置,您可以按如下方式定义实体:

@Entity
public class Setting{
    ...
    @ManyToOne
    private Game game;
    @ManyToOne
    private Player player;
    ...
}

如果你想拥有一个你可以在Player对象中定义的玩家设置列表:

@Entity
public class Setting{
    ...
    @OneToMany(mappedBy="player")
    private List<Setting> settings;
}