一:异常
报这种异常:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
API的方法:
public List find(String queryString,
Object[] values)
throws DataAccessException
类型出错!
可能:
(1)你的HQl参数先传的是什么类型的,就必须是什么类型的!就是fine()里面的第一个参数的类型跟HQL第一个问号的类型匹配。
(2)其它地方类型不一样!
二:传多个不一样的类型参数
public List<Upload> queryUploadByTidAndCid(String tname,int tid) {
return this.getHibernateTemplate().find("from Teacher where tname=? and tid=?",new Object[]{tname,tid});
}
报这种异常:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
API的方法:
public List find(String queryString,
Object[] values)
throws DataAccessException
类型出错!
可能:
(1)你的HQl参数先传的是什么类型的,就必须是什么类型的!就是fine()里面的第一个参数的类型跟HQL第一个问号的类型匹配。
(2)其它地方类型不一样!
二:传多个不一样的类型参数
public List<Upload> queryUploadByTidAndCid(String tname,int tid) {
return this.getHibernateTemplate().find("from Teacher where tname=? and tid=?",new Object[]{tname,tid});
}
本文针对Java编程中使用HQL查询出现的ClassCastException异常进行了详细分析,并提供了两种常见场景下的解决方案,包括如何确保参数类型一致性和正确处理多类型参数。
1万+

被折叠的 条评论
为什么被折叠?



