Согласно документации по спящему режиму:
Чтобы отобразить двунаправленный канал «один-ко-многим» со стороной «один-ко-многим» в качестве стороны-владельца, вы должны удалить элемент 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 как сторону-владельца
- Зачем в этой настройке нужны эти два значения: вставляемый = ложь, обновляемый = ложь