Я изучаю отношения JPA (@OneToOne, @ManyToOne, ...), и когда я разговариваю с людьми о том, как они моделируют свои сущности, тем больше я сбиваюсь с толку. Вот пример со вчерашнего дня:JPA и как думать об отношениях
Допустим, у нас есть связь между Person
и Address
. БД хранит Address.id
как FK в таблице Person
как «address_id». Являются ли эти отношения OneToOne или OneToMany? Я слышал, что люди спорят друг с другом, и у обоих есть веские причины, почему они так себя чувствуют.
Один человек утверждал, что он «многопользовательский», поскольку адрес_ид не является уникальным для каждой записи. Тот же адрес_ид можно было использовать снова и снова в таблице Person
. Он утверждает, что действительно иметь OneToOne, FK в таблице Person
должен быть уникальным, как указано в спецификации JSR ».
Еще отдельные государства, что «когда вы думаете о Person
записи, они будут иметь более одного Address
Если нет, то это OneToOne;? Зачем усложнять дело»
Я запутался, что верно. С одной стороны, первый человек смог поднять спецификацию JSR и рассказать мне об этом. С другой стороны, у меня есть разработчик с более чем 20-летним опытом (и он очень уважаем) говорит мне, чтобы он был простым.
Может кто-то пожалуйста, помогите прояснить это для меня
Спасибо!