from Goodsinloc g,BatchCkGoodsinlcBase b where g.goodsinId=b.id
执行后报java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.kcwms.mengniu.bean.Goodsinloc
求高人指点

解决方案 »

  1.   

    ClassCastException 字段类型不匹配 检查下po字段和数据库字段
      

  2.   

    java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.kcwms.mengniu.bean.Goodsinloc
    这句说不能把Object数组强转成Goodsinloc对象
      

  3.   

    g.goodsinId在实体类中的integer类型
    b.id在数据库中时long类型
    case(g.goodsinId as long)也不行呀
      

  4.   

    from Goodsinloc g,BatchCkGoodsinlcBase b where g.goodsinId=b.id
    返回的结果是个list
    list里面的元素是new object[]{new Goodsinloc(),new BatchCkGoodsinlcBase()}
    所以你要取出结果集中的Goodsinloc
    1.改变SQL语句:SELECT g FROM Goodsinloc g,BatchCkGoodsinlcBase b where g.goodsinId=b.id
    2.不改变SQL语句:(object[]list.get(0))[0]
      

  5.   

    zyz1985我照你的写法不报错了也得到了值但是
    SELECT g,b FROM Goodsinloc g,BatchCkGoodsinlcBase b where g.goodsinId=b.id
    又报错了
      

  6.   

    那建议你去把HQL语句过一遍吧,一个问题俺可以帮你解决,一堆类似的问题俺没有时间帮你了......感觉你对HQL还不是很清楚