hibernate 用sql完成多表查询的结果集如何封装 5
比如。我有2个表。class,student.student有class外键。我想查出所有学生和学生的班级。得到的结果集,如果封装。求大神指教。不太习惯用hql。所以用s...
比如。我有2个表。class, student.
student 有class 外键。
我想查出所有学生和 学生的班级。 得到的结果集,如果封装。求大神指教。不太习惯用hql。所以用sql。 展开
student 有class 外键。
我想查出所有学生和 学生的班级。 得到的结果集,如果封装。求大神指教。不太习惯用hql。所以用sql。 展开
4个回答
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();
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!切记。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
他返回的是数组哦,最后封装为JSON对象吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
遍历你得到的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就是你封装好的对象,不是新手应该能有思路了
部分参考代码:
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就是你封装好的对象,不是新手应该能有思路了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询