Java教程

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

本文主要是介绍ssh 报错hibernate java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to XXX,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

这个应该说是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);

  

这篇关于ssh 报错hibernate java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to XXX的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!