首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate query.createSQLQuery 别名不起作用,该如何处理

2012-04-11 
hibernate query.createSQLQuery 别名不起作用Manager代码:Java codeservice.getPageModelForSql(select

hibernate query.createSQLQuery 别名不起作用
Manager代码:

Java code
service.getPageModelForSql("select em.name ,pc.date,dept.name as dname,p.name as pname ,pc.postNum " +                "from t_postcount pc ,t_post p ,t_employees em ,t_department dept " +                "where pc.post = p.id and pc.epid = em.id and p.pid = dept.id " +                "and em.id = "+employeesId+" order by dept.id,pc.date desc ", offset, pageSize);

执行代码:
Java code
Query query = this.getSession().createSQLQuery(sql); //sql就是以上sql语句

查询结果代码:
Java code
List list = query.list();        for (int i=0;i<query.list().size();i++){            Object[] o = (Object[]) query.list().get(i);             System.out.println((String)o[0]+"==="+(Date)o[1]+"==="+(String)o[2]+"==="+(String)o[3]+"==="+Integer.parseInt(o[4].toString()));        }


输出结果:
张三===2012-01-15 00:00:00.0===张三===张三===3
张三===2011-11-11 00:00:00.0===张三===张三===8
张三===2011-11-12 00:00:00.0===张三===张三===5

mysql执行结果:
张三2012-01-15 00:00:00神外一区大夜班3
张三2011-11-12 00:00:00神外一区大夜班5
张三2011-11-11 00:00:00神外一区大夜班8

因为要取三个表中都是NAME的字段,所以hibernate执行的结果好像都视同为一个字段。请教各位。

[解决办法]
楼主不是分页查询吗?是不是跟这个有关系呢?

热点排行