Hibernate 查询SQL的问题
String sql = "select {b.*} from (select distinct t.*, rownum rn\n"
+ " from bsec_unit_para t where rownum <= 10"
+ condition
+ " order by t.unitcode) b\n" + " where b.rn >= 1";
假设给的条件condition 可以查出结果集为2条,
则用
getSession().createSQLQuery(sql).addEntity("b",BsecUnitPara.class).list();
返回2条相同记录,
而
getSession().createSQLQuery(sql).list();
不加类的类型转换就返回2条不同的正常的结果集。
为什么?必须要转换为类才能正常显示出来。。
------解决方案--------------------HQL是有实体对应的,是有类型对应的
sql是有对应数据,是不管类型的
------解决方案--------------------
你select的是b.*是b对象的所有字段吧?这样返回来的是数组列表,就是由数组组成的list,每个数组放着b的所有字段值。。。。你直接select b 就好了,这样就返回list<b类型>