这种多对多关系的“拥有方”是如何确定的?
2022-09-03 06:38:58
我试图牢牢掌握“拥有方”的概念。无法从我在这里发现的任何问题中获得清晰的图片。基本上,我正在学习Java EE JPA教程。它们具有以下数据库模式,其中和具有多对多关系PLAYER
TEAM
还说明了
- 一名球员可以在许多球队中。
- 一支球队可以有很多球员。
- 和 之间存在多对多关系。
PLAYER
TEAM
到目前为止,相当直接。但是,当进入编码部分时,它们会成为关系的拥有方。TEAM
public class Team {
private Collection<Player> players;
@ManyToMany
@JoinTable(
name = "PERSITENCE_ROSTER_TEAM_PLAYER",
joinColumns = @JoinColumn(name = "TEAM_ID", referencedColumnName = "ID"),
inverseJoinColumns = @JoinColumn(name = "PLAYER_ID", referencedColumnName = "ID")
)
public Collection<Player> getPlayers() {
return players;
}
}
public class Player {
private Collection<Team> teams;
@ManyToMany(mappedBy = "players")
public Collection<Team> getTeams() {
return teams;
}
}
问题
我对代码的理解没有问题。我无法处理的是:
1. 如何确定
TEAM
是拥有方?2.在这种情况下,如果
玩家
成为拥有方,会有什么不同吗?
本教程中也说明了这一点。
“指定实体是关系的所有者,因此实体是与实体关系的所有者。
@JoinTable
TEAM
PLAYER
话虽如此:
3. 上述陈述会使我的第二个问题成为现实吗?这意味着除了您决定使用
@JoinTable
注释制作哪一个之外,没有其他决定因素?