Hibernate 一对多冬眠
根据hibernate文档: 要将双向一对多映射为一对多,并将一对多端作为拥有端,您必须删除mappedBy元素,并将many-To-one@JoinColumn设置为可插入且可更新为false。此解决方案未优化,将生成一些额外的UPDATE语句Hibernate 一对多冬眠,hibernate,hibernate-onetomany,Hibernate,Hibernate Onetomany,根据hibernate文档: 要将双向一对多映射为一对多,并将一对多端作为拥有端,您必须删除mappedBy元素,并将many-To-one@JoinColumn设置为可插入且可更新为false。此解决方案未优化,将生成一些额外的UPDATE语句 @实体 公营部队{ @独身癖 @JoinColumn(name=“team_fk”)//我们需要复制物理信息 公共集gets(){ ... } @实体 公营士兵{ @许多酮 @JoinColumn(name=“team_fk”,insertab
@实体
公营部队{
@独身癖
@JoinColumn(name=“team_fk”)//我们需要复制物理信息
公共集gets(){
...
}
@实体
公营士兵{
@许多酮
@JoinColumn(name=“team_fk”,insertable=false,updateable=false)
公共团队getTroop(){
...
}
我的问题是:
我认为您没有抓住文档中引用的要点。它并不建议您使用一方或另一方作为拥有方,只是描述如何设置特定的一方。谢谢。但我理解这一点。我的问题是,以这种方式设置而不是多对一设置的目的是什么
@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() {
...
}