У меня странная проблема с Hibernate 3.5, с которой, я надеюсь, кто-нибудь мне поможет.
Контекст:
- FAC имеет ноль или более "основных" SECT.
- FAC имеет ноль или более "связанных" SECT.
- SECT имеет ровно один родительский FAC.
У меня есть объединяемая таблица с именем fac_sect , в таблице есть следующие столбцы:
fac_related_sect_id , sect_id , fac_core_sect_id
SECT может быть связан с родительским FAC через столбец fac_core_sect_id.
В моем классе сущностей 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 строки; одна строка отображается в * fac_core_sect_id *, а вторая строка отображается в * fac_related_sect_id *.
Но getParentFac () возвращает ноль, когда в * fac_sect * у * sect_id * есть более одной строки для * fac_related_sect_id *.
Я не понимаю, почему это происходит, поскольку моя аннотация @JoinTable, похоже, задает правильный столбец соединения и столбец обратного соединения. Я даже не прошу Hibernate включить столбец * fac_related_sect_id * в объединение.
Надеюсь, что это имеет смысл, я надеюсь, что кто-то может мне помочь:)