hibernate中的query问题
query到底是什么东西,它里面存的是对象吗,还是别的什么?拿到query以后怎么用它得到总的数据量,就是查询结果的个数?用((Integer)query.iterate...
query到底是什么东西,它里面存的是对象吗,还是别的什么?
拿到query以后怎么用它得到总的数据量,就是查询结果的个数?
用((Integer)query.iterate().next()).intValue()的时候为什么回报ClassCastException?
跪求高手详细解答,不胜感激 展开
拿到query以后怎么用它得到总的数据量,就是查询结果的个数?
用((Integer)query.iterate().next()).intValue()的时候为什么回报ClassCastException?
跪求高手详细解答,不胜感激 展开
3个回答
展开全部
org.hibernate.Query里面存的是对象?这个肯定了,但是不是存的你的实体类的对象(有可能是泛型),拿到数据总量,也就是个数了,就像select count(*) from ...一样的结果了。
多种方式,
一:
String hql = " from WangwangKpi wk where wk.businessDay =:businessDay and wk.wangwang.owner = :user and wk.wangwang.userGroup = :userGroup ";
Query q = session.createQuery(hql);
q.setParameter("businessDay", today);
q.setParameter("user", user);
q.setParameter("userGroup", group);
return q.list().size();返回数量
二:
String hql = "select count(id) from Chatpeer c where c.chatDay >=..."
Query query = session.createQuery(hql);
query.setParameter(0, from);
return ((Long)query.uniqueResult()).intValue();
不知你看懂了没
((Integer)query.iterate().next()).intValue()报错是必然的,
因为返回的是Long不是Integer,所以报类转换异常啊(ClassCastException)。
((Long)query.iterate().next()).intValue();这个应该是可以的,如果还不行,那就查看你的hql是怎么写的了
多种方式,
一:
String hql = " from WangwangKpi wk where wk.businessDay =:businessDay and wk.wangwang.owner = :user and wk.wangwang.userGroup = :userGroup ";
Query q = session.createQuery(hql);
q.setParameter("businessDay", today);
q.setParameter("user", user);
q.setParameter("userGroup", group);
return q.list().size();返回数量
二:
String hql = "select count(id) from Chatpeer c where c.chatDay >=..."
Query query = session.createQuery(hql);
query.setParameter(0, from);
return ((Long)query.uniqueResult()).intValue();
不知你看懂了没
((Integer)query.iterate().next()).intValue()报错是必然的,
因为返回的是Long不是Integer,所以报类转换异常啊(ClassCastException)。
((Long)query.iterate().next()).intValue();这个应该是可以的,如果还不行,那就查看你的hql是怎么写的了
展开全部
List arr=null;
try {
String hql="from Stu";
Query query=this.GetSession().createQuery(hql);
arr=query.list();
}
Query封装了一个List读取。
总的数据量就用arr.size()
转换错误啊,你这个错误。看看数据库信息,里面可能有不是整型的。
try {
String hql="from Stu";
Query query=this.GetSession().createQuery(hql);
arr=query.list();
}
Query封装了一个List读取。
总的数据量就用arr.size()
转换错误啊,你这个错误。看看数据库信息,里面可能有不是整型的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个里面 就好像你自己写的sql语句 只不过它比较全能~~你只需要传参数就可以了~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询