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

Hibernate 查询SQL的有关问题

2012-03-28 
Hibernate 查询SQL的问题String sql select {b.*} from (select distinct t.*, rownum rn\n+ from b

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类型>

热点排行