我对 Hibernate 3.5 有一个奇怪的问题,希望有人能帮助我。
语境:
- FAC 有零个或多个“核心”SECT。
- FAC 有零个或多个“相关”SECT。
- SECT 只有一个父 FAC。
我有一个名为fac_sect的关节,该表具有以下列: fac_related_sect_id、sect_id、fac_core_sect_id
SECT 可以通过 fac_core_sect_id 列与父 FAC 相关联。
我的 Sect 实体类中有以下内容:
@ManyToOne
@JoinTable(name = "fac_sect", joinColumns = { @JoinColumn(name = "sect_id")},
inverseJoinColumns = { @JoinColumn(name = "fac_core_sect_id") })
public Fac getParentFac() {
return parentFac;
}
问题 这似乎工作正常,在 *fac_sect* 中对于特定 *sect_id* 有 2 行;第一行将 a 映射到 *fac_core_sect_id*,第二行映射到 *fac_related_sect_id*。
但是当 *fac_sect* 中的 *sect_id* 有超过一行的 *fac_related_sect_id* 时,getParentFac() 返回 null。
我不明白为什么会发生这种情况,因为我的 @JoinTable 注释似乎指定了正确的连接列和反向连接列。我什至没有要求 Hibernate 在连接中包含 *fac_related_sect_id* 列。
希望这是有道理的,我希望有人可以帮助我:)