. Хотя мой вопрос сформулирован специально о том, как отношения сущностей отображаются в структуре Play, которая использует Hibernate, я уверен, что это общая концепция.
Когда у нас есть отношения «один-ко-многим», нас всегда просят указать принадлежащую сторону.
Так, например, если бы у нас была связь «один ко многим» между Person и PhoneNumber, мы бы написали такой код.
@Entity
class Person {
@OneToMany(mappedBy="person")
public Set phoneNumbers;
}
@Entity
class PhoneNumber {
@ManyToOne
public Person person;
}
В приведенном выше коде сущностью-владельцем является PhoneNumber. Каковы плюсы и минусы того, что каждая из сторон является объектом-владельцем?
Я понимаю, что когда объект-владелец - PhoneNUmber, представляемое отношение - ManyToOne, что не приведет к объединению таблицы, тогда как, когда стороной-владельцем является Person, Изображенная связь будет OneToMany, и в этом случае будет создана таблица отношений.
Является ли это основной причиной определения стороны-владельца, или же есть и другие причины?
Обновление: Я только что понял, что эта ветка дает часть ответа, но я надеюсь, что могут быть и другие моменты.