当前位置: 代码迷 >> J2EE >> many to one 级联关系配置有关问题 求帮助
  详细解决方案

many to one 级联关系配置有关问题 求帮助

热度:114   发布时间:2016-04-21 23:26:08.0
many to one 级联关系配置问题 求帮助
本帖最后由 gaoshanwlm 于 2013-04-22 18:05:14 编辑
A 表根据areaid 查询 b表的areaname     
A表areaid 普通字段
b表的areaid是主键

 @ManyToOne
  @JoinColumn(name = "areaid", insertable = false, updatable = false, referencedColumnName = "areaid")
     //关联那个字段 ,以类中那个字段关联 两个表联系
  //@JoinColumn(name="areaid", referencedColumnName="areaid")
    public SysArea getSysArea() { 
      
return sysArea;
}
public void setSysArea(SysArea sysArea) {
this.sysArea = sysArea;
}

这么查 关联字段不出来
当改成
//@OneToOne(cascade = CascadeType.REFRESH , optional = false,fetch = FetchType.LAZY)
@JoinColumn(name="areaid", referencedColumnName="areaid")
就可以,当格式json就报错了 意思是关联关系配置不对 求帮助 如何配置这个关联关系

------解决方案--------------------
@ManyToOne
是可以关联查询出来的,因为一的一端默认是EAGER,

 @ManyToOne
  @JoinColumn(name = "areaid", insertable = false, updatable = false, referencedColumnName = "areaid")
     //关联那个字段 ,以类中那个字段关联 两个表联系
  //@JoinColumn(name="areaid", referencedColumnName="areaid")
    public SysArea getSysArea() { 
      
return sysArea;
}
你说的这样查不来,我就很怀疑了,。这样是可以查询出来的。
你确定,是没查询出来,还是没数据

------解决方案--------------------
不是主键关联,加上property-ref=“areaname”

@JoinColumn(name = "areaid", insertable = false, updatable = false, referencedColumnName = "areaid",property-ref="areaname")
  相关解决方案