2016-05-26 4 views
1

Так что, когда я запускаю мой проект, в User таблицы и Doc таблицы созданы, но я не вижу, внешний ключ для таблицы User в Doc таблице.Создание внешнего ключа с JPA

Как вы можете видеть, у меня есть и ManyToOne, и OneToMany аннотации, и все же внешний ключ для пользователя не создается.

Как я могу это решить?

+0

у вас есть Partenaire идентификатор в таблице док? – ZaoTaoBao

+0

Partenaire не является таблицей, так как вы можете видеть, что Partenaire расширяет User, поэтому его стратегия SINGLE_TABLE все свойства Partenaire будут добавлены в таблицу пользователей, которая будет отличаться полем 'TYPE_USER' вместо создания новой таблицы для него. –

+0

пытается добавить @JoinColumn (name = "XX") от многих до одного – ZaoTaoBao

ответ

1

Вы должны добавить аннотацию @JoinColumn (name = "ID Column Name") вместе с аннотацией @ManyToOne или @OneToMany, о которой упомянул ZaoTaoBao. Эта аннотация определяет имя столбца, который должен использоваться как FK.

Обратитесь к этой ссылке для получения более подробной информации: http://docs.oracle.com/javaee/6/api/javax/persistence/JoinColumn.html

+0

Нет, это не сработает. JoinColumn только переименовал поле, которое будет использоваться для ссылки на другую таблицу, но без FK –

Смежные вопросы