Hibernate @WhereJoinTable проблема - PullRequest
       3

Hibernate @WhereJoinTable проблема

6 голосов
/ 14 февраля 2011

Я привыкаю к ​​зимней спячке, но время от времени я сталкиваюсь со спотыканием, вот еще одна.

Я пытаюсь добиться следующего:

@OneToMany
@JoinTable(name = "inter_spec",
        joinColumns = { @JoinColumn(name = "inter_id") },
        inverseJoinColumns = { @JoinColumn(name = "spec_id") })
@WhereJoinTable(clause = "spec_type=SECTION")
public List<Section> getSections() {
    return sections;
}

Но яполучить следующую ошибку при запуске моего модульного теста:

[ERROR] JDBCExceptionReporter - столбец "SECTIONS0_.SECTION" не найден;Оператор SQL:

Все, что я хочу, - это применить условие Where, чтобы в моих разделах List были только данные типа SECTION.

Если я удалю предложение Where, то мой модульный тест проходит,утверждение в Списке содержит ожидаемые данные.

Спасибо за чтение.

1 Ответ

9 голосов
/ 14 февраля 2011

Ааа, это всегда происходит, как только я задаю вопрос, я это выясняю !!

По сути, SECTION в предложении Where - это Enum в коде Java, поэтому строка должна быть:

@WhereJoinTable(clause = "spec_type='SECTION'")

Обратите внимание на одинарные кавычки вокруг СЕКЦИИ, которых раньше не было!

...