HQL createQuery 返回值类型

0 






HQL的返回值该怎么取得?
比方说,我的hql语句是select count(cat) from Cat cat
或者是查询其他的聚集函数的话,他返回的也是List集合吗?
而事实上,这个语句应该只返回一个int型数据哦,请问该怎么获取这个返回值?

------解决方案--------------------
 
------解决方案--------------------
恩,返回的是LIST,上面的SQL查询返回的List里面只有一条记录,直接List.get(0)获取; 
------解决方案--------------------
主要还是看调用什么方法

有返回单一值的

可以先instanceof看看返回什么类型

如果list,就按楼上说的 
------解决方案--------------------
Query q = session.createQuery("select count(*) from table");
Integer i = (Integer)q.uniqueResult();  

这样就可以了,要确保你的hql语句只返回一个对象,否则调用uniqueResult();会有异常。
 
------解决方案--------------------

探讨
Query q = session.createQuery("select count(*) from table"); 
Integer i = (Integer)q.uniqueResult(); 

这样就可以了,要确保你的hql语句只返回一个对象,否则调用uniqueResult();会有异常。 


------解决方案--------------------
Query.uniqueResult(); 
------解决方案--------------------
返回的不是Integer而是Long,取决于Hibernate的版本,最新的都按Long返回. 
------解决方案--------------------
Java codeQuery  query = session.createQuery("select count(*) from table"); 
 List list = query.list()
------解决方案--------------------探讨Java codeQuery  query = session.createQuery("select count(*) from table");  List list = query.list()
------解决方案--------------------探讨Query q = session.createQuery("select count(*) from table"); Integer i = (Integer)q.uniqueResult(); 这样就可以了,要确保你的hql语句只返回一个对象,否则调用uniqueResult();会有异常。 
------解决方案--------------------Query  query = session.createQuery("select count(*) from table");    List list = query.list();Integer i = (Integer)list.get(0);
------解决方案--------------------探讨Query  query = session.createQuery("select count(*) from table"); List list = query.list(); Integer i = (Integer)list.get(0);
------解决方案--------------------探讨Query q = session.createQuery("select count(*) from table"); Integer i = (Integer)q.uniqueResult(); 这样就可以了,要确保你的hql语句只返回一个对象,否则调用uniqueResult();会有异常。 
------解决方案--------------------探讨Query  query = session.createQuery("select count(*) from table"); List list = query.list(); Integer i = (Integer)list.get(0);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值