关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类

时间:2022-08-30 14:27:34
由于业务逻辑的复杂,有些sql语句写法hql不支持,所以hibernate查询直接用了sql原生查询,由于数据结果根据四个表查询出来,所以无法使用方法.addEntity(XXXXXXX.class);把结果转对象,就这样以对象数组的形式传到了Action层,

关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类

然而Action层传到前台需要对数据进行封装一下(前台用的easyui,数据展示根据key名获取value值),所以进行转化(就在这浪费了我近两天的时间,气!),由于是对象数组的形式,网上搜索各种方法进行取值都无效,后来在impl层,把返回的格式返回为Pagenate<Object[]>形式,(原来是Pagenate<实体类>),在前台一顿遍历封装(取值方式采用的是下标取值,感谢https://blog.csdn.net/zb0567/article/details/7183043),然后成功

关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类

知识点:

hibernate 中createQuery与createSQLQuery两者区别是:

前者用的hql语句进行查询,后者可以用sql语句查询

前者以hibernate生成的Bean为对象装入list返回,后者则是以对象数组进行存储

所以使用createSQLQuery有时候也想以hibernate生成的Bean为对象装入list返回,就不是很方便

突然发现createSQLQuery有这样一个方法可以直接转换对象

Query query = session.createSQLQuery(sql).addEntity(XXXXXXX.class);

XXXXXXX 代表以hibernate生成的Bean的对象,也就是数据表映射出的Bean。但是这个bean必须有映射

https://blog.csdn.net/zb0567/article/details/7183043的原贴

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to

List abc = zzteledao.GetUser("select aa,bbfrom cc where id="+ id);

List temp=(List)abc.get(0);

这时会爆出如题的错误,是因为select出来的是一个object,两个项目,debug出来的像list一样,l但是转换还是出错

后来改成如下

if (abc != null) {

Object[] le = (Object[]) abc.get(0);

aa= le[0].toString();

bb= le[1].toString();

}

即可解决

另外一种就是Lei{aa,bb}这样的类,用类来替代

Lei temp=(Lei)abc.get(0)

关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类的更多相关文章

  1. java&period;lang&period;ClassCastException&colon; Ljava&period;lang&period;Object&semi; cannot be cast to com&period;entity&period;Advertisem异常

    今天一不小心就碰到了这样的问题,以前从来没有碰到过,在网上搜了很多办法,思路正确,但是还是要根据自己的程序改变. 一开始写的是hql语句进行统计每个月的数据,但是试了很久,程序一直提醒hql语句异常, ...

  2. unexpected token&colon; &ast; 和 java&period;lang&period;ClassCastException&colon; &lbrack;Ljava&period;lang&period;Object&semi; cannot be cast to 解决办法

    一.unexpected token: *  的解决办法 首先要搞清楚sql与hql的区别! sql操作的是数据库表,而hql操作的是对象! sql中“select * from table”,而hq ...

  3. 报错:java&period;lang&period;ClassCastException&colon; &lbrack;Ljava&period;lang&period;Object&semi; cannot be cast to com&period;xxx&period;entity&period;PersonEntity

    报错:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.xxx.entity.PersonEntity 代 ...

  4. Java&period;lang&period;NoSuchMethodError&colon; org&period;slf4j&period;spi&period;LocationAwareLogger&period;log&lpar;Lorg&sol;slf4j&sol;Marker&semi;Ljava&sol;lang&sol;String&semi;ILjava&sol;lang&sol;String&semi;&lbrack;Ljava&sol;lang&sol;Object&semi;Ljava&sol;lang&sol;Throwable&semi;&rpar;V

    今天接入激光推送,一直报错: Java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker; ...

  5. java&period;lang&period;NoSuchMethodError&colon; org&period;jboss&period;logging&period;Logger&period;getMessageLogger&lpar;Ljava&sol;lang&sol;Class&semi;Ljava&sol;lang&sol;String&semi;&rpar;Ljava&sol;lang&sol;Object&semi;

    spring3_hibernate 集成报错信息 java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljav ...

  6. java&period;lang&period;AbstractMethodError&colon; org&period;slf4j&period;impl&period;JDK14LoggerAdapter&period;log&lpar;Lorg&sol;slf4j&sol;Marker&semi;Ljava&sol;lang&sol;String&semi;ILjava&sol;lang&sol;String&semi;&lbrack;Ljava&sol;lang&sol;Object&semi;Ljava&sol;lang&sol;Throwable&semi;&rpar;V

    java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/St ...

  7. java&period;lang&period;ClassCastException&colon; android&period;widget&period;RelativeLayout cannot be cast to android&period;widget&period;TextView

    最近在学习drawerLayout时,遇到这个bug.如下示: java.lang.ClassCastException: android.widget.RelativeLayout cannot b ...

  8. 关于android使用ksoap2报Caused by&colon; java&period;lang&period;ClassCastException&colon; org&period;ksoap2&period;SoapFault cannot be cast to org&period;ksoap2&period;serialization&period;SoapObject

    Caused by: java.lang.ClassCastException: org.ksoap2.SoapFault cannot be cast to org.ksoap2.serializa ...

  9. java&period;lang&period;ClassCastException&colon; oracle&period;sql&period;CLOB cannot be cast to oracle&period;sql&period;CLOB

    错误现象: [framework] 2016-05-26 11:34:53,590 -INFO  [http-bio-8080-exec-7] -1231863 -com.dhcc.base.db.D ...

随机推荐

  1. &lbrack;C&num;&rsqb; string 与 String,大 S 与小 S 之间没有什么不可言说的秘密

    string 与 String,大 S 与小 S 之间没有什么不可言说的秘密 目录 小写 string 与大写 String 声明与初始化 string string 的不可变性 正则 string ...

  2. BZOJ 4453&colon; cys就是要拿英魂!&lbrack;后缀数组 ST表 单调栈类似物&rsqb;

    4453: cys就是要拿英魂! Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 90  Solved: 46[Submit][Status][Discu ...

  3. BZOJ 2049&colon; &lbrack;Sdoi2008&rsqb;Cave 洞穴勘测 LCT

    2049: [Sdoi2008]Cave 洞穴勘测 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnli ...

  4. ASP&period;NET MVC 中&commat;html&period;ActionLink的几种参数格式

    一 Html.ActionLink("linkText","actionName") 该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法, ...

  5. 简单实现springmvc框架(servlet&plus;自定义注解)

    个人水平比较菜,没有这么高的实力简单实现springmvc框架,我是看了一个老哥的博客,这老哥才是大神! 原文链接:https://www.cnblogs.com/xdp-gacl/p/4101727 ...

  6. vlan划分

    1.vlan:虚拟局域网: 作用:划分广播域,抑制广播风暴: 2.vlan技术的优点: 有效控制广播域范围: 增强局域网的安全性: 灵活构建虚拟工作组: 3.vlan划分的方式: 基于端口: 基于MA ...

  7. linux下xdebug的安装和配置方法

    xdebug简介 Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况. xdebug安装 首先让php错误显示,只需要修改php.in ...

  8. 小米笔记本pro CPU GPU 做科学计算的算力对比

    小米笔记本pro:15.6寸,i7-8850,16G,256G,GPU:MX150 测试对象Caffe,MNIST训练 使用纯CPU训练: 1.耗时:11分58秒 2.功耗:35W 使用GPU训练: ...

  9. ubuntu下将CapsLock改为Ctrl键

    需求:Ubuntu下用Vim时,ESC因为在左上角,还算是好按,但是Ctrl就太坑了,在左右两个下角,实在是太不方便了. 经过分析决定将:CapsLock键改为Ctrl,但仍然保留下面的原Ctrl键( ...

  10. netty中的PlatformDependent

    通过类名就知道这是一个平台有关的类,通过对该类的学习可以帮助我们实现一个跨平台的应用.但是有些方法放的实现不是很好,比如:isWindows0.通过File的separator就可以判断出来.没必要那 ...