Спящий Один ко многим
Согласно документации по гибернации:
Чтобы отобразить двунаправленный канал "один-ко-многим" со стороной "один-ко-многим" в качестве стороны-владельца, вы должны удалить элемент mappedBy и установить для "многие" один @JoinColumn как вставляемый и обновляемый на "ложь". Это решение не оптимизировано и будет производить некоторые дополнительные операторы UPDATE.
@Entity
public class Troop {
@OneToMany
@JoinColumn(name="troop_fk") //we need to duplicate the physical information
public Set<Soldier> getSoldiers() {
...
}
@Entity
public class Soldier {
@ManyToOne
@JoinColumn(name="troop_fk", insertable=false, updatable=false)
public Troop getTroop() {
...
}
Мои вопросы:
- В чем преимущество такой настройки. Почему бы не создать сторону Manytonone как сторону-хозяина
- Зачем в этой настройке нужны эти два значения: inserttable=false, updatable=false