报错:java.lang.Long cannot be cast to java.lang.Integer

Long 无法转化成Integer类型.

这个异常 经常出现在hinbernate分页查询的时候.

原因:

这里在Hibernate2.0之前版本list.get(0)返回的是Integer类型.

但是在Hibernate3.0以后版本list.get(0)返回的是Long类型.

解决方法

  1. public Integer getUsersCount() {
  2. String hql = "select count(*) from Users";
  3. List list = super.pageQuery(hql, null, null, null);
  4. Number num = (Number) list.get(0);
  5. return num.intValue();
  6. }
  7. 注:java.lang.Number是Integer,Long的父类.    //重点

报错:java.lang.Long cannot be cast to java.lang.Integer,布布扣,bubuko.com

时间: 2024-10-15 02:47:46

报错:java.lang.Long cannot be cast to java.lang.Integer的相关文章

MySQL分段统计SQL写法 与 Mybatis 报错:java.math.BigDecimal cannot be cast to java.lang.Integer

mysql> select -> sum(case when score<60 then 1 else 0 end) as '<60', -> sum(case when score>=60 and score<=69 then 1 else 0 end) as '60~69', -> sum(case when score>=70 and score<=79 then 1 else 0 end) as '70~79', -> sum(ca

在拦截器中获取请求参数,[Ljava.lang.String; cannot be cast to java.lang.String报错

Map<String,Object> parametersmap=invocation.getInvocationContext().getParameters();//获取请求参数                Set<String> parametersset=parametersmap.keySet();                for(String key:parametersset){ System.out.println(key+":"+par

java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType

DAO层有很多操作其实可以用范式加反射来实现的,所以我就开始构想我的万金油BaseDAO了. BaseHibernateDaoAdvance.java public class BaseHibernateDaoAdvance<T extends ModifyInfoEntity, PK extends Serializable, DTO extends BaseDto> extends HibernateDaoSupport implements BaseDaoAdvance<T, PK

java.math.BigDecimal cannot be cast to java.lang.String &nbsp; ----解决方案

今天在开发的时候遇到了一个问题,在此记录一下,问题的大概意思就是类型不一致不能进行强转 代码如下: rolf.setFuncd((String) rece.get("FUN_CD"));//强转 rolf.setFunid((String) rece.get("FUN_ID")); //强转 rolf.setFunnm((String) rece.get("FUN_NM")); //强转 因为我第二段的代码Orc数据库的字段类型是number,而

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map

1.错误描述 java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map at service.impl.BillServiceImpl.exportBillExcel(BillServiceImpl.java:336) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMet

weblogic11_64下的java.lang.ClassCastException: java.sql.Timestamp cannot be cast to java.sql.Date

项目需要切换服务器,从server2003切换到server2008上,新环境用的weblogic11_64.Oracle11g 项目部署运行之后,其他一切正常,只有涉及到查询date类型的数据库字段时,会报以下错误: java.lang.ClassCastException: java.sql.Timestamp cannot be cast to java.sql.Date 按照一般思路,这个异常,是代码中存在类型的强制转换,只要把强制转换的地方修改成合理的类型转换逻辑就可以了. 但是考虑到

利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)

想利用泛型抽取BaseDao层,简化操作时出现问题: @Transactional这个注解是可以继承的,于是就想写在抽取的BaseDao层上,让实现的类可以不用写@Transactional,就可开启事务. 问题描述: 由于偷懒,没给BaseDao抽接口,代码如下: package com.liang.ssh2.base; import java.lang.reflect.ParameterizedType; import java.util.Collections; import java.u

java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer

hibernate查询结果条数集 原写法: Integer count = (Integer )session.createQuery(hql).uniqueResult(); 报错:java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer 原因: 从Hibernate 3.0.x/3.1.x升级到最新的3.2版之后,3.2版的很多sql函数如count(), sum()的唯一返回值已经从In

数据转换bug花了半天时间 Java.math.BigDecimal cannot be cast to java.lang.String

从数据库取出一个 Count函数 统计的值 在代码中要转成Integer类型的时候 Integer.parseInt((String)map.get("ID_")) 报了一下错误: Java.math.BigDecimal cannot be cast to java.lang.String 解决方法: Object ob = map.get("ID_");先将数据转成 Integer.parseInt(ob.toString()); http://blog.csd