Hibernate JoinColumn по умолчанию отсутствует имя _id - PullRequest
3 голосов
/ 29 сентября 2010
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn (name = "account_id")
private Account account;

Работает нормально.

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn
private Account account;

Результаты в: Exception : Missing column account in SomeSchema.SomeOwnerTable

JPA Spec говорит, что имя столбца объединения по умолчанию -

property name ( 'account') + '_' + target table primary key ( 'id' )

Но похоже, что hibernate ищет только свойство с именем account, а не account_id.

Любой комментарий?

1 Ответ

4 голосов
/ 29 сентября 2010

Я думаю, вы можете безопасно избавиться от аннотации @JoinColumn - в любом случае есть столбец соединения.

Кроме того, убедитесь, что вы не настроили конкретную стратегию именования, которая может переопределить поведение по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...