map*_*aft 3 java hibernate one-to-many
我知道这可以通过HQL查询轻松解决,但我更喜欢让Hibernate为我处理一些OneToMany属性.
让我演示一下我希望我的域模型在伪代码中的样子:
Game
Long GameID
Team HomeTeam
Team AwayTeam
@OneToMany(mappedBy="team")
Set<TeamPlay> HomeTeamPlays
@OneToMany(mappedBy="team")
Set<TeamPlay> AwayTeamPlays
Run Code Online (Sandbox Code Playgroud)
表结构类似,有两个外键都指向Game表上的Team表.显然,如果只有一个外键,那么它将代表真正的一对多关系,但实际上我想要的是同一实体子类型的两个双向一对多特性.
我不相信使用@Where注释会起作用,因为它需要一个常量,而@JoinColumn不允许在这里.如果不可能,那就没关系,我只是想从其他人那里来.
我打赌你并不真正理解mappedBy的使用.
您可以参考/sf/answers/966843321/中的其他答案
简而言之,mappedBy是双向关系"对立面"中的属性名称.
对于你的情况,它可能看起来像:
class TeamPlay {
@ManyToOne
Team homeTeam;
@ManyToOne
Team awayTeam;
}
class Team {
@OneToMany(mappedBy="homeTeam")
Set<TeamPlay> homeTeamPlays;
@OneToMany(mappedBy="awayTeam")
Set<TeamPlay> awayTeamPlays;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7866 次 |
| 最近记录: |