有二个表 TableA and TableB 它们之间通过一个CD关联起来的我的 Hql是这样写的hql="from TableA a , TableB b where a.Xcd=b.Xcd";
List list=session.createQuery(hql).list();list 返回的值是 [java.lang.object@324235 ,[java.lang.object@324232 ,[java.lang.object@3242335,[java.lang.object@324235]
这种格式我想问的是,怎样让它返回 [java.lang.object@324235 ,java.lang.object@324232 ,java.lang.object@3242335,java.lang.object@324235]
这样的列表?谢谢...

解决方案 »

  1.   

    hql="from TableA a , TableB b where a.Xcd=b.Xcd"; 
    你的hql应该是双等于吧?!"a.Xcd==b.Xcd”
    list读取数据,应该看数据的顺序吧!list有顺序!
      

  2.   

    .谢谢大家解答1、[java.lang.object@324235 ,[java.lang.object@324232 ,[java.lang.object@3242335] 比
    2、[java.lang.object@324235 ,java.lang.object@324232 ,java.lang.object@3242335]每个对象前多了一个“[”,我现在用Tapestry5 loop组件,它循环一个List ,如果有用
    返回为1的List ,它会报错
    只有用返回值为2的list 才会循环出它的值
      

  3.   

    没遇到过,实在不行,自己写个方法,先把他们一个个分开,然后再一个个.add();进list咯
      

  4.   

    hql="from TableA a , TableB b where a.Xcd=b.Xcd"; 
    List list=session.createQuery(hql).list(); 
    改为:hql="select new Demo(a.id Id,a.name name, b.userId userId,....)from TableA a , TableB b where a.Xcd=b.Xcd"; 
    List list=session.createQuery(hql).list(); 
    然后以你选择的字段,构造一个Demo的bean;
    private String Id;
    get,set方法,
    并创建一个以选择字段为参数的构造函数
    public Demo(String id,  String name,。) {
    super();
    this.id = id;

    this.childName = childName;
    }
    最后这里的list包含的就是Demo的对象啦
      

  5.   

    你[java.lang.object@324235 ,[java.lang.object@324232 ,[java.lang.object@3242335,[java.lang.object@324235] 
    查询出来的是两个数组, 你如果想达到你想的效果,你可以用导航查找,就不会出现数组的情况(注意:你的两张表如果没有关
    系的话,就不能用导航查找) 导航查找是这样:你可以只查询一张表如 “from Tabl1”