本帖最后由 l364244206 于 2010-11-14 12:01:04 编辑

解决方案 »

  1.   

    不知道你是由类推到hibernate映射文件的,还是通过ant 由映射文件生成类的,不管怎样,在你的映射文件中,你给两个id属性加上他们的类型,type="string" 然后试一试。我试了一下你的代码,如果在 <id name="barcode" column="barcode"><!--主键 -->
    <generator class="assigned" /><!-- 主键生成策略,assigned表示由用户赋值 -->
    </id>
    这里忘写<id name="barcode" column="barcode" type="string">type,就会出现错误,提示barcode找不到。还有你的SellInfo类中,既然已经有了GoodsInfo对象,为什么还有属性,barcode呢,岂不是重复了?
      

  2.   

    看到上面的错误信息,是你的bean:write标签报的错误,在你的SellInfo没有这个属性,是不是你写错了?大小写或者什么的。
      

  3.   

    检查一下你的类SellInfo有没有如下方法: 
    public String getBarcode(){
       return this.barcode;
    }
      

  4.   

    select g.sellId,g.id,g.barcode,g.bname,g.goodsinfo,g.amount,g.operator,g.sellId,g.sellTime from SellInfo as g
      

  5.   

    查询属性  g.sellId,g.id,g.barcode,g.bname,g.goodsinfo,g.amount,g.operator
    list 里面是对象数组。for (Iterator iterator = list.iterator(); iterator.hasNext();) {
    Object[] p = (Object[]) iterator.next();

    System.out.println("sellId="+p[0]+"--------"+"....="+p[n]);
    }
      

  6.   

    从错误来看错误应该是
    Goodsinfo.hbm.xml
    <hibernate-mapping>
    <class name="po.Goodsinfo" table="goodsinfo" ><!--类和表 --><id name="barcode" column="barcode"><!--主键 -->
    <generator class="assigned" /><!-- 主键生成策略,assigned表示由用户赋值 -->
    </id>这里面的<id name="barcode" column="barcode"><!--主键 -->这个报错。
    兄弟看给ID加个类型试下。
    如:
    <id name="userid" type="java.lang.Integer">
                <column name="USERID" precision="22" scale="0" />
                <generator class="native">
                <param name="sequence">
                SEQ_USERID
                </param>
                </generator>
            </id>
    我这种是主键用序列生成的。。
      

  7.   

    你的HQL语句返回的是一个object数组、不是一个对象