Как создать внешний ключ для отношения «многие к одному» (однонаправленный)? - PullRequest
0 голосов
/ 20 октября 2019

Я хочу иметь сущность, имеющую отношение много-к-одному с другой сущностью, но с генерируемым внешним ключом, использующим JPA (без внешнего ключа в базе данных), возможно ли это?

Я знаю, что естьрешение, использующее один ко многим и много к одному, но я хочу иметь только много к одному, потому что я хочу, чтобы оно было только однонаправленным

1 Ответ

0 голосов
/ 20 октября 2019

Вы можете иметь OneToMany и ManyToOne, как однонаправленным, так и двунаправленным способом. Очевидно, что когда у вас есть отношение «многие к одному» с одной стороны, у вас будет отношение «один ко многим» с противоположной стороны. Кроме того, вы должны отметить, что только один внешний ключ в многогранном одностороннем соединении может обрабатывать это отношение.

Если вы используете @JoinColumn(name="some_column_name") чуть ниже одной из аннотаций @OneToMany или @ManyToOne,hbm2ddl должен быть в состоянии создать правильный внешний ключ в вашей таблице.

Однако старайтесь не полагаться на hbm2ddl и самостоятельно поддерживать схему базы данных.

...