
hibernate 多个聚合函数
Stringhql="selectcount(*)ascount,sum(sum)assumfromStudent";接下来怎么取得这2个的值啊我用的是struts+hi...
String hql="select count(*) as count,sum(sum) as sum from Student";
接下来怎么取得这2个的值啊
我用的是struts+hibernate 你的方法不行 展开
接下来怎么取得这2个的值啊
我用的是struts+hibernate 你的方法不行 展开
展开全部
可以按照楼上的使用Transformers进行处理,如果不理解怎么用也可以单独通过数组接收
// 返回结果
List all = query.list();
if (all != null && all.size>0) {
// 如果包含查询结果,则取得返回数据,数据按照Object数组形式返回
Object[] obj = (Object[])all.get(0);
// 打印返回结果
System.out.println("count = " + obj[0]);
System.out.println("sum = " + obj[1]);
}
// 返回结果
List all = query.list();
if (all != null && all.size>0) {
// 如果包含查询结果,则取得返回数据,数据按照Object数组形式返回
Object[] obj = (Object[])all.get(0);
// 打印返回结果
System.out.println("count = " + obj[0]);
System.out.println("sum = " + obj[1]);
}
展开全部
可以定义一个Class
public Class StatResult {
private Number count; //这个地方一定要用Number
private Number sum;
getter....
setter....
}
查询结尾加一句:
query.setResultTransformer(Transformers.aliasToBean(StatResult.class));
这样query.list()返回的结果就是StatResult对象列表了.
...............我的项目里所有对这种分析函数结果处理都是通过Transformers进行转换的,没出现过任何问题,不知道你是什么需求
public Class StatResult {
private Number count; //这个地方一定要用Number
private Number sum;
getter....
setter....
}
查询结尾加一句:
query.setResultTransformer(Transformers.aliasToBean(StatResult.class));
这样query.list()返回的结果就是StatResult对象列表了.
...............我的项目里所有对这种分析函数结果处理都是通过Transformers进行转换的,没出现过任何问题,不知道你是什么需求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询