本帖最后由 longcrazy 于 2011-10-19 22:28:14 编辑

解决方案 »

  1.   

    select b.topicID,a.userName from tb_user a,tb_topic b where b.tbUser.userID=a.userID
      

  2.   


    hibernate的list()方法, 将返回List<Object[]>
    一行记录放到一个Object[]数组Object[0] : topicID
    Object[1] : userName 
      

  3.   

    STRING HQL = "from TbTopic as model where model.TbUser.topicID=? and model.TbUser.userName=?;
    这是Hql语句的用法,根据实体对应的数据表查询。
    如果在页面取值的话直接${model.TbUser.topicID},${model.TbUser.userName}
      

  4.   

    select t.topicID , t.tbUser.userName from TbTopic t 
    这样就行了
      

  5.   

    得到你的结果可以像3楼所说的办法
    也可以不用hql="from xxxx"
    用sql="select xxx from xxx"
    但是不同的是
    你要把原来代码里面用到的Query对象
    换成SQLQuery来使用
      

  6.   

    不知道HQL是否支持嵌套查询哦?我去试试··
      

  7.   


    HQL:          Query query = session.createQuery(" from TbTopic as tp left outer join tp.tbUser as tu ");
            List<Object[]> list = query.list();
            for(Object[] objs : list){
                for(Object obj : objs){
                    if(obj instanceof TbTopic ){
                        TbTopic simp = (TbTopic )obj;
                        System.out.println(simp.getTopicID());
                    }
                    if(obj instanceof TbUser){
                        TbUser us = (TbUser)obj;
                        System.out.println(us.getUserName());
                    }
                }
            }