Hibernate 中 HQL查询 和SQL查询的区别

      今天写了点东西,用到了SQL查询,得到的是list集合,在jsp中用c标签取值,报了[Ljava.lang.Object; cannot be cast to com.plpw.Model.Yetai异常。

     后查询资料,对于两者有了些新的认识。

   使用HQL进行条件查询时,得到的结果List是对象数组,该对象数组的长度取决于参与查询表的个数。

  下面是取数组中对象的值:

   List list = getSession.createQuery("from dept ").list();                                      //list包含的是对象数组

for(int i = 0 ;i

         Object   [] obj = (Object[]) list.get(i);                                                                       //obj中存放的是对象

       Dept d = (Dept)obj[0];                                                                                             //索引位置为0的对象

 

}

 

使用SQL进行条件查询得到的List是也是对象数组,只是数组的索引位置从0开始的是对象的第一个属性,该对象数组的长度取决于表中属性的多小。

   List list = getSession.createSQLQuery(select * from dept);

for(int i = 0;i

         Object   [] obj = (Object)list.get(i);                                          //obj 中存放的是对象的属性值

       此时想拿obj中的值就简单了,直接循环拿值吧。

}

你可能感兴趣的:(框架)