日期:2014-05-17  浏览次数:20712 次

问个hibernate封装数据的问题
问题如下有2张表user(userid,name)topic(id title content,userid)
topic表中的userid引用user表中的userid,2张表不存在外键关系
我的想法是想通过连接查询2张表的内容使一条主题帖对应一个作者
页面结果输出像这种方式
          id title     username
        11  你好         张三
          12  今天吃了    李四
怎么通过hibernate查询的结果封装一下数据??直接通过一个循环就输出上面格式的数据
下面是2个实体类

    public class User{
          private int userId;
          private String name;
          //setter/getter略
    }
    public class Topic{
          private int id;
          private String title; 
          private String content;
          private int userid;
          //setter/getter略

    }

------解决方案--------------------
HQL:
select A.id, A.title, (select B.name from user B where B.userid = A.userid) as name
from topic A
这样不行吗?
------解决方案--------------------
两个实体类里面都没有映射关联关系。。 个人建议就先分别查询出结果然后封装了。。  我也就路过,学习。。
------解决方案--------------------
如果可以还是用外键吧,直接就可以得到数据了。。。。
------解决方案--------------------
借助hibernate的原生sql查询,对查询出来的数据可以再次封装。