`
likaidalian
  • 浏览: 51909 次
社区版块
存档分类
最新评论

java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.

 
阅读更多
现象:
liferay中查询数据,用到如下语句 select xx from yyy where .....;

原因:
只select一个字段

解决思路:

1. 类型转换, 尝试biginteger, object 等等均不可行,转成object都不可以,此路不通。

2. SELECT XXX AS COUNT_VALUE from yyy where ..... 
(COUNT_VALUE 是liferay定义的关键字)

3. SELECT XXX , ZZZ FROM yyyy where ......
  select 多于一个字段就可以正常操作,不会报转换异常

具体代码:

2.
红色字体根据实际情况改变
Session session = null;
try {
session = openSession();
StringBuffer sql = new StringBuffer("");

sql.append(" SELECT xxx AS COUNT_VALUE ");
...................
SQLQuery q = session.createSQLQuery(sql.toString());

q.addScalar(COUNT_COLUMN_NAME, Type.DOUBLE);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(ZZZZ);

Iterator<Double> itr = q.list().iterator();

if (itr.hasNext()) {
Double count = itr.next();

if (count != null) {
amount = count.doubleValue();
}
}
return amount;
} catch (Exception e) {
throw new SystemException(e);
} finally {
closeSession(session);
}
3.


try {
session = openSession();
StringBuffer sql = new StringBuffer("");
..............
SQLQuery q = session.createSQLQuery(sql.toString());

QueryPos qPos = QueryPos.getInstance(q);

qPos.add(voyageIDPre);
List list = QueryUtil.list(q, getDialect(), 0, Integer.MAX_VALUE);
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
//need check : list is not null
for (int i = 0; i < list.size(); i++) {
Map<String, Object> map = new HashMap<String, Object>();
Object[] record = (Object[]) list.get(i);
map.put("xxx", record[0] == null? "" : record[0]);
map.put("yyyy", record[1] == null? "" : record[1]);
map.put("yyyy", record[6] == null? "" : record[6]);
result.add(map);
}
return result;
} catch (Exception e) {
throw new SystemException(e);
} finally {
closeSession(session);
}
分享到:
评论

相关推荐

    java.lang.ClassCastException

    ebean,sbean,dto

    解决cannot be cast to javax.servlet.Filter 报错的问题

    cannot be cast to javax.servlet.Filter 报错, 原因servlet-api.jar冲突 使用maven开发web应用程序, 启动的时候报错: jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/...

    java操作xml dom dom4j sax jdom

    Java 四种方式操作xml,包括xml,dom,sax,jdom这四种方式的一个简单例子。

    java 异常总结

    其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的...java.lang.ClassCastException 类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常

    安卓自动轮播图 广告位

    二:保证 ImageCycleView的 父布局是LinearLayout 否则可能会报异常,比如 java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$...

    clj-stacktrace:更具可读性的 Clojure 堆栈跟踪

    例如,要在 REPL 中打印一个不错的堆栈跟踪: =&gt; (use 'clj-stacktrace.repl)=&gt; ("foo")java.lang.ClassCastException: java.lang.String cannot be cast to clojure.lang.IFn (NO_SOURCE_FILE:0) Compiler.java:...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    weblogic下转换oracle 的clob类型经常报转型错误,本例子通过反射解决weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB转型成oracle.sql.CLOB问题

    java编程常见问题

    44.java.lang.ClassCastException 类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。 45.java.lang....

    Android 简单封装一个精美、好用的菜单型PopupWindow

    简单封装一个精美、好用的菜单型PopupWindow

    java.util.ConcurrentModificationException 解决方法

    主要介绍了 java.util.ConcurrentModificationException 解决方法的相关资料,需要的朋友可以参考下

    client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies.jar

    Load canal adapter: es7 failed java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to ...canal-adapter1.1.5报错, 将...

    canal adapter 1.1.5 DruidDataSource 连接池异常

    java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource 可用这个jar替换...

    client-adapter.es7x-1.1.5-jar-with-dependencies.jar

    解决canal同步es报错: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource

    tomcat 8.0.35上传好像没成功

    tomcat8.0.35刚好像没上传成功 java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext

    libpython-clj-scratch:一个基本的libpython-clj项目

    一个基本的libpython-clj项目 希望这将有助于重现我所观察到的问题,该问题在评估代码时启用了nREPL 0.8.2,Clojure 1.10.2... class java.lang.String cannot be cast to class clojure.lang.Keyword ( java.lang.Str

    QQ状态查询代码

    QQ 在线状态查询,主要解决java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive的问题,我们将改错误的SoapObject更改为 Object 类型,该错误即可消除

    java集合知识-map、set等

    import java.util.LinkedHashSet; public class HashSetTest { public static void main(String[] args) { HashSet hs = new LinkedHashSet(); hs.add("hahah"); hs.add("hehe"); hs.add("heihei"); hs....

    聊聊Java的泛型及实现

    类型错误现在在编译期间被捕获到了,而不是在运行时当作java.lang.ClassCastException展示出来,将类型检查从运行时挪到编译时有助于开发者更容易找到错误,并提高程序的可靠性  2、消除了代码中许多的强制类型...

Global site tag (gtag.js) - Google Analytics