ssh使用hibernate进行sql查询问题

我在项目里定义了一个pojo类,是各个单位得分明细表,是这样的:数据表的内容差不多是这样的。日期部门得分总分2014-1菊花小学8102014-2春春小学910定义的实体... 我在项目里定义了一个pojo类,是各个单位得分明细表,是这样的:
数据表的内容差不多是这样的。
日期 部门 得分 总分
2014-1 菊花小学 8 10
2014-2 春春小学 9 10

定义的实体类:

public class Score_detail {

private String id;
private String barcode;
private String dept;
private String noteb;
private int df;
private int kf;

//这里省略了种个get与set方法
}
}

然后就是映射文件:Score_detail.hbm.xml,spring配置,这些都没问题。

但是,我想用这条语句来进行查询:
String hql ="select (sum(kf)- sum(df))/ sum(kf)*10000 ,dept from Score_detail";
String mywhe =" where barcode='"+barcode+"' group by dept ";
hql += mywhe;
list = this.getHibernateTemplate().find(hql);

查询是可以的,不过呢,console是这样说的:
HQL: select (sum(kf)- sum(df))/ sum(kf)*10000 ,dept from com.pojo.Score_detail where barcode='201403151035' group by dept
SQL: select (sum(score_deta0_.kf)-sum(score_deta0_.df))/sum(score_deta0_.kf)*10000 as col_0_0_, score_deta0_.dept as col_1_0_ from score_detail score_deta0_ where score_deta0_.barcode='201403151035' group by score_deta0_.dept

如果我直接用上面组合成的hql语句在数据库中进行查询,得到的结果是这样的:
部门 总得分
菊花小学 98%
春春小学 99%

现在问题就是,在hibernate是转化成是上面sql语句,后面的 as col_0_0_ 是什么东西啊,我都没指定过。我现在只想要两个字段的数据(部门、总得分),然后在前台用list遍历出来,请问该怎么做?
展开
 我来答
wuqing0826
2014-04-29 · TA获得超过692个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:731万
展开全部
as col_0_0_这是hibernate内部框架实现,也就是hibernate.dialect。他会把你hql转换sql,主要是根据不同数据库做变化,省去你修改的麻烦。

List<Score_detail> sdList = (List<Score_detail>) getSession().createQuery(hql).list();

这样查询出来,然后遍历list,后用sd.getDep...就能取得你要的字段。
更多追问追答
追问
怎样遍历list啊,我用for(Score_detail n : list){

System.out.println(n);

},但是提示错 误。
追答
你不会struts标签?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式