Hibernate的HQL的该怎么取得返回值

原创 2004年10月26日 11:09:00
作者:robbin

很多人搞不清楚怎么取得HQL的返回值,下面举例说明:

取单个字段,会返回字段List:

java代码: copy.gif

 1 Query q = s.createQuery("select c.id from Cat as c");
 2 List l = q.list();
 3 for (i=0; i< l.size(); i++) { 
 4   Long id = (Long) l.get(i);
 5   System.out.println(id.longValue());
 6 }



取多个字段,Hibernate把每个id和name做成一个2个元素的单维数组,List实际上是一个单维数组的集合。

java代码: copy.gif

 1 Query q = s.createQuery("select Cat.id, Cat.name, from Cat ");
 2 List l = q.list();
code.gif3 for (int i=0;  i< l.size(); i++) {
 4   Object[] row = (Object[]) l.get(i);
 5   Long id = (Long) row[0];
 6   String name = (String) row[1]
 7 }



在这种情况下,HQL是不会去构造PO的,这一点很容易验证。JCS是对象Cache,如果写了这样的HQL,JCS里面是空的,说明Hibernate没有构造PO,如果再加上一个对象c本身,JCS里面就有数据了,如下:

java代码: copy.gif

 1 Query q = s.createQuery("select c.id, c.name,c from Cat as c");
 2 List l = q.list();
code.gif3 for (int i=0; i< l.size(); ; i++) {
 4   Object[] row = (Object[]) l.get(i);
 5   Long id = (Long) row[0];
 6   String name = (String) row[1];
 7   Cat c = (Cat) row[2]
 8 }

ezerg 编程小语

hibernate 执行原生sql,select返回string,long

http://heisetoufa.iteye.com/blog/1564095 1.执行sql,返回一个结果集,适用查询一个字段并返回一条记录 Java代码   publ...
  • swazer_z
  • swazer_z
  • 2016年05月04日 10:06
  • 2108

Hibernate hql 查询指定字段并获取结果集

1. 查询整个映射对象所有字段 Java代码      //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段                String...
  • xwnxwn
  • xwnxwn
  • 2016年11月01日 11:50
  • 6508

hibernate 执行sql ,select 返回string long

1.执行sql,返回一个结果集,适用查询一个字段并返回一条记录 public Long findSeqTbTest() { String sql = "select SEQ_TB_TES...
  • arui_email
  • arui_email
  • 2012年07月12日 19:58
  • 7671

HibernateTemplate的find(String querystring)返回值详解

项目源码中出现如下代码: HibernateTemplate ht =…… List tempList = ht.find(String querystring); 查看api发现H...
  • qq1623267754
  • qq1623267754
  • 2014年07月28日 16:31
  • 1622

hibernate save方法返回值

save方法返回的是Serializable接口,该结果的值就是你插入到数据库后新记录的主键值。如果你的主键是数值,可以按如下方法Serializable result = this.getSessi...
  • chen1218chen
  • chen1218chen
  • 2015年08月06日 10:39
  • 8847

Hibernate的HQL的该怎么取得返回值

作者:robbin很多人搞不清楚怎么取得HQL的返回值,下面举例说明: 取单个字段,会返回字段List: java代码:  1 Query q = s.createQuery("select c.id...
  • ezerg
  • ezerg
  • 2004年10月26日 11:09
  • 2556

Hibernate——Hql实例+详解

Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。完整的HQL语句形式如下:Select/update/delete…… from …… where …… group by …...
  • suneqing
  • suneqing
  • 2015年08月22日 01:01
  • 2519

HQL的返回值该怎么取得?

很多人搞不清楚怎么取得HQL的返回值,下面举例说明: 取单个字段,会返回字段List: java代码:  Query q = s.createQuery("select c.id from Cat a...
  • QJC13
  • QJC13
  • 2008年01月15日 10:35
  • 411

有关hibernate中用distinct返回值总结

1.如果查询单个字段返回String型直接用list.get(i)即是返回的那个字段值 2.多个返回Object[]型,已经过测试Session session = sessionFactory.op...
  • alen1985
  • alen1985
  • 2009年09月11日 17:15
  • 2580

HQL的返回值该怎么取得?

http://www.hibernate.org.cn/viewtopic.php?t=251
  • steve_xk
  • steve_xk
  • 2005年09月26日 15:58
  • 381
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate的HQL的该怎么取得返回值
举报原因:
原因补充:

(最多只允许输入30个字)