我需要结合三个表/实体,以便在Hibernate中建立一对多的关系。
关系的简要概述:
现在,我可以使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,但是到目前为止我尝试过的所有操作都失败了。
任何与上述有关的帮助将不胜感激!