读书人

HQL的返回值该如何取得

发布时间: 2012-02-13 17:20:26 作者: rapoo

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 code
Query  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);

读书人网 >J2SE开发

热点推荐