Hibernate一对多

时间:2010-09-13 13:23:45

标签: hibernate hibernate-onetomany

根据hibernate文档:

  

要将双向一个映射到多个,将一对多方面作为拥有方,您必须删除mappedBy元素并将多个@JoinColumn设置为可插入且可更新为false。此解决方案未经过优化,将生成一些额外的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. 为什么在此设置中需要这两个值:insertable = false,updatable = false

0 个答案:

没有答案