Hibernate @JoinTable проблема - PullRequest
       11

Hibernate @JoinTable проблема

0 голосов
/ 22 февраля 2011

У меня странная проблема с 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 * в объединение.

Надеюсь, что это имеет смысл, я надеюсь, что кто-то может мне помочь:)

1 Ответ

0 голосов
/ 24 февраля 2011

Я решил эту проблему, создав 2 новые таблицы соединения, каждая из которых содержит только два столбца.

...