Спящий Один ко многим

Согласно документации по гибернации:

Чтобы отобразить двунаправленный канал "один-ко-многим" со стороной "один-ко-многим" в качестве стороны-владельца, вы должны удалить элемент 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() {  
    ...  
}  

Мои вопросы:

  1. В чем преимущество такой настройки. Почему бы не создать сторону Manytonone как сторону-хозяина
  2. Зачем в этой настройке нужны эти два значения: inserttable=false, updatable=false

0 ответов

Другие вопросы по тегам