2015-07-04 5 views
0

В JPA какая разница между ownerhisp и руководство отношение.JPA: собственность против направления

Я знаю, что в отношениях manyToOne вы всегда объявляете много сторон как владельца , чтобы реализация JPA знала, что вы хотите ограничить внешний ключ в этой таблице.

Двунаправленные отношения позволяют обоим объектам отношения знать друг о друге.

Но как вы можете видеть, я немного смущен, вы можете помочь?

ответ

0

Вы уже указали направление . Ассоциации могут быть однонаправленными и двунаправленными.

Владелец в двунаправленной ассоциации сообщает Hibernate, какая сторона должна проверять при сохранении связи с базой данных. Обратная сторона не проверяется. Если вы связываете только два объекта только с обратной стороны, Hibernate не будет связывать связь с базой данных, поэтому в следующий раз, когда вы их прочитаете (в новом или очищенном сеансе), они также не будут связаны с обратной стороной.

«Я знаю, что в отношениях ManyToOne вы всегда объявляете многие стороны, как владелец, чтобы позволить реализациям JPA знают, что вы хотите ограничение внешнего ключа этой таблицы.»

собственность не имеет на самом деле ничего общего с иностранным (хотя объявление прав собственности на стороне внешнего ключа является хорошей практикой и помогает избежать дополнительного обновления в некоторых ситуациях), а в rare cases владелец двунаправленной ассоциации может фактически быть стороной «один ко многим». Во взаимно-однозначном отношении столбец внешнего ключа всегда должен находиться в исходном объекте, иначе ассоциация не имеет смысла.

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