【发布时间】:2014-03-25 23:17:59
【问题描述】:
我正在尝试牢牢掌握 Owning-side 的概念。从我在这里找到的任何问题中都无法真正得到清晰的画面。基本上我正在阅读 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。在这种情况下,如果将
PLAYER设为拥有方,会有什么不同吗?
教程中也有说明。
"指定
@JoinTable的实体是 关系,因此TEAM实体是与PLAYER实体的关系的所有者。”
话虽如此:
3.上述陈述会使我的第二个问题成立吗?这意味着除了您决定使用
@JoinTable注解的拥有方之外,没有其他决定因素?
【问题讨论】:
标签: java entity-framework jpa orm