读书人

hibernate怎么多函数查询

发布时间: 2012-12-14 10:33:07 作者: rapoo

hibernate如何多函数查询


Query query=session.createSQLQuery("select count(*), sum(age)from stu ");

List list=new ArrayList();
list=query.list();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {

Object[] object = (Object[]) iterator.next();
System.out.println(object[0]+" "+object[1]);


}
请问这样获取2个函数的值有什么不对吗?为什么得到的是2个重复的值,坐等高人指点!
[解决办法]
我把你的代码考下来测试了一下,你那个迭代遍历
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
好像有点问题吧


Iterator iterator=list.iterator();
while(iterator.hasNext()){
//System.out.println(iterator.next());
Object[] object =(Object[]) iterator.next();
System.out.println(object[0]+" "+object[1]+" "+object[2]);


}

下面是结果
10 lei yunnan
2 liu shandong
[解决办法]
我用了你的迭代,结果一样,咱俩的迭代其实是一样的,请你查询俩个返回int或float的函数,你确定是按我的查询测试的吗?究竟为什么
[解决办法]
可能这俩值获取到的时候就是一样的饿

[解决办法]
经过不断测试,问题终于解决了,原因是在查询的时候没有给查询的函数对应字段。所以list只能存储第一个值,

select count(*), sum(age)from stu 改成 select select count(*) as 统计, sum(age) as 总和from stu

就可以了,谢谢大家!

读书人网 >J2EE开发

热点推荐