Hibernate-连接两个表和辅助表

时间:2018-10-14 08:44:01

标签: postgresql hibernate one-to-many

我需要结合三个表/实体,以便在Hibernate中建立一对多的关系。

关系的简要概述:

  • 锦标赛比赛可以包含许多MatchTeam,每一个都引用一个团队。
  • 锦标赛比赛也有许多MatchPlayers。每个MatchPlayer都引用一个属于团队的玩家。

现在,我可以使TournamentMatch对象同时具有TournamentTeam和TournamentPlayer属性:

public class TournamentMatch {

    public List<MatchPlayer> getPlayers() {
        return players;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "matchTeamId.match")
    public Set<MatchTeam> getTeams() {
        return teams;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "matchPlayerId.match")
    public Set<MatchPlayer> getPlayers() {
        return players;
    } 
}

但是,我想将Set从TournamentMatch移到MatchTeam实体,因为每个玩家都属于一个团队。

public class MatchTeam {
     ...
     @OneToMany(fetch = FetchType.LAZY)
     public List<MatchPlayer> getPlayers() {
       return players;
     }

}

这听起来是完全有可能的,但我不确定是否要在getPlayers方法上正确使用批注。每个玩家都属于一个团队,因此我可以假设同时使用@JoinTable和@JoinColumn,但是到目前为止我尝试过的所有操作都失败了。

任何与上述有关的帮助将不胜感激!

0 个答案:

没有答案