hibernate 用sql完成多表查询的结果集如何封装 5

比如。我有2个表。class,student.student有class外键。我想查出所有学生和学生的班级。得到的结果集,如果封装。求大神指教。不太习惯用hql。所以用s... 比如。我有2个表。class, student.
student 有class 外键。
我想查出所有学生和 学生的班级。 得到的结果集,如果封装。求大神指教。不太习惯用hql。所以用sql。
展开
 我来答
去吧死去
2014-12-02 · 超过20用户采纳过TA的回答
知道答主
回答量:121
采纳率:100%
帮助的人:51.1万
展开全部
将student,class关联创建一个视图,然后createSQLQuery("查询视图")
.setResultTransformer(Transformers.aliasToBean(视图VO.class))
.list();
这样就万事大吉了
匿名用户
2014-01-03
展开全部
首先 class最好改名,如叫Clazz。

Student 和 Clazz 是有关联的。例如,student.getClazz()就能访问到学生的班级。

String hql="SELECT stu.* FROM Student stu";
List students= session.createQuery(hql).list();
就是所有的学生。

访问学生对应的班级,就是 ((Student)student.get(0)).getClazz();
更多追问追答
追问
我想得到一个结果集。传到页面的。而且不想用hql啊
追答
你就传到页面就好了。

使用了hibernate就要忘记ResultSet!切记。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tiamo_man_man
2014-01-14 · 超过10用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:40.8万
展开全部
他返回的是数组哦,最后封装为JSON对象吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NewNewNew对象
2014-01-14 · TA获得超过137个赞
知道答主
回答量:24
采纳率:0%
帮助的人:17.3万
展开全部
遍历你得到的List,把遍历的每一条记录放到Object数组中,然后你再把每个数组中对应的元素放到你的对象中去。也许你的实体类对象中没有那么多字段你在实体类中添加几个字段,然后注解设置成@Transient(不映射到数据库中)。
部分参考代码:
List list = userlogService.getListBySearch2(year,month,Integer.parseInt(userId));
List<Userlog> userlogList = new ArrayList<Userlog>();
for(Iterator iterator = list.iterator();iterator.hasNext();){
Object[] obj = (Object[]) iterator.next();
Userlog userlog = new Userlog();
if(obj[2] != null){
userlog.setSearchUserName(obj[2].toString()); //查询出来数据的类型要和你对象中字段一致
}
if(obj[3] != null){
userlog.setSearchStartTime(obj[3].toString());
}
if(obj[4] != null){
userlog.setSearchTime(obj[4].toString());
}
userlogList.add(userlog);
}
最后uerlogList就是你封装好的对象,不是新手应该能有思路了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式