Object转Integer类型失败,转Long型可以,方法返回值为1,并没有超过两个类型的范围

在网上找的尚硅谷的教学视频

其中有添加权限一段
String hql="select count(*) from Right r where r.rightUrl=?";
//此处不能用integer只能Long
Long count=(Long) this.uniqueResult(hql, url);
System.out.println(count);

下面是uniqueResult(hql, url)方法
public Object uniqueResult(String hql,Object...objects){
return dao.uniqueResult(hql, objects);
}

参考http://fengzhiyin.iteye.com/blog/376631
从Hibernate 3.0.x/3.1.x升级到最新的3.2版之后,3.2版的很多sql函数如count(), sum()的唯一返回值已经从Integer变为Long,如果不升级代码,会得到一个ClassCastException。

因为返回的就是Long型,和你里面到底多少位没关系。

Long count1=(Long) this.uniqueResult(hql, url);
int count = (int)count1;

不太清楚你用的是什么数据库?
问一下dao.uniqueResult(hql, objects); 这个的返回类型定义的是什么?

你可以把运行的错误提示发出来。这样可以更好的看懂你哪里出错了。

Integer.Value(count)试下