关于网友提出的“ 在线等,hibernate的sql查询”问题疑问,本网通过在网上对“ 在线等,hibernate的sql查询”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 在线等,hibernate的sql查询
描述: 我从一张表之中查3个字段
查完之后这3个字段组合为一个对象
现在想查询这个对象的list,该如何做呢?
public List getNormalKaoQinList() {
Session s = this.getSession();
List list = s.createSQLQuery("select cio1.userid,cio1.checktime,cio2.checktime " +
"from checkinout cio1,checkinout cio2 " +
"where cio1.userid = cio2.userid " +
"and cio1.checktype='I' " +
"and cio2.checktype='O' " +
"and year(cio1.checktime) = year(cio2.checktime) " +
"and month(cio1.checktime) = month(cio2.checktime) " +<>
"and day(cio1.checktime) = day(cio2.checktime);").addEntity(NormalKaoQin.class).list();
return list;
}
解决方案1: 按天分行 把 O签退和I签到的时间填充到每月的自然天内
解决方案2: 你这样查询出来的list对象是一个里面的元素是Object[]!
要查看里面的元素、得转换成Object[]!
for(int i = 0 ; i < list.size(); i ++){
/*
* 数组元素顺序跟sql中字段的顺序一致、从0开始
*/
Object[] objarr = (Object[])list.get(i);
System.out.println(objarr[0]); //cio1.userid
System.out.println(objarr[1]); //cio1.checktime
System.out.println(objarr[2]); //cio2.checktime
}
以上介绍了“ 在线等,hibernate的sql查询”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2123529.html