struts2输出标签为:
<s:property value='top[0].VUserName'/>,<s:property value='top[1].VUserName'/> hibernate查询代码final String sql= "select * from user A left join (select * from user) B on A.Parentid= B.id order by a.id desc";
Query query = session.createSQLQuery(sql).addEntity(User.class).addEntity(User.class);
其它代码省略,
这样查询出来的结果都是第一个User表的结果,即top[0].VUserName=top[1].VUserName
但如果是两个不同的表结果是正确的,问题:请问是不是同一个表不能这样查询呢!

解决方案 »

  1.   

    inner join不是交集,我是想把第一个USER表全部查询
      

  2.   

    用别名区分 a b  addEntity("a",User.class).addEntity("b",User.class)
      

  3.   

    唔,我用了这个
    Query query = session.createSQLQuery(sql).addEntity("a", User.class).addEntity("b", UserLevel.class).addEntity("c", User.class);
    怎么两个USER(a表和C表)取值还是一样呢
    取值<s:property value='top[0].id>,<s:property value='top[2].id>,还是一样,
      

  4.   

    是不是sql语句要改进呢?
    select * from user A left join (select * from user) B on A.Parentid= B.id order by a.id desc";
    Query query = session.createSQLQuery(sql).addEntity("a", User.class).addEntity("c", User.class);