我知道使用HQL查询可以很容易地解决这个问题,但是我最好只是让Hibernate为我处理一些OneToMany属性。Hibernate:两个OneToMany属性,由具有不同列的相同实体映射
让我证明什么,我想我的域模型看起来像在伪代码:
Game
Long GameID
Team HomeTeam
Team AwayTeam
@OneToMany(mappedBy="team")
Set<TeamPlay> HomeTeamPlays
@OneToMany(mappedBy="team")
Set<TeamPlay> AwayTeamPlays
表结构是相似的,有两个外键都指向队表在游戏桌上。显然,如果只有一个外键,那么它将代表一个真正的一对多关系,但实际上我想要的是对于相同实体子类型的两个双向一对多特性。
我不相信使用@Where注释会工作,因为它需要一个常量,并且@JoinColumn在这里是不允许的。如果不可能,那就没问题,我只是想从别人那里得到它。
问题是什么?你的问题是什么?只是不要为两个关联使用相同的mappedBy字段。 –