首页 > 编程语言 > 详细

ssh 报错hibernate java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to XXX

时间:2021-04-19 01:10:09      阅读:22      评论:0      收藏:0      [点我收藏+]

这个应该说是hibernate报错:hibernate java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to XXX。

这个错误原因是sql查询的list返回值为object类型,而你的需求是XXX类型,类型不匹配所导致的。

解决方法

网上搜索出来的方法一般是把createQuery改为createSQLQuery,并且添加.addEntity(XXX.class);//XXX为你需要的实体类

Query query=session.createQuery(selectAllBookSql);

  

改为

Query query=session.createSQLQuery(selectAllBookSql).addEntity(EntityBook.class);

  但是在idea中会有一道划线提醒你这个createSQLQuery方法不推荐你使用,所以最好还是改为下面的方法:createNativeQuery

改为

Query query=session.createNativeQuery(selectAllBookSql).addEntity(EntityBook.class);

  

差点忘记了,由于你的查询方法不是hql,而是sql了,所以你的查询语句应该由“from …………”变为了“select …… from ……”;

ssh 报错hibernate java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to XXX

原文:https://www.cnblogs.com/hahayixiao/p/14674475.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!