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

错误源码:throws HibernateException, SQLException
{ //当有数据查询条件不等于null时,则执行Hql条件查询语句
if(Params!=null)
{

List datas=session.createQuery(queryListHql)
.setParameter(0,Params )
.setFirstResult(offset)
.setMaxResults(pagesize).list()
;

}


Prarms:是一个Object的数组

在Hibernate的HQL查询中可以通过setParameter()方法邦定任意类型的参数

setParameter:不能读取数组中的值所以会导致错误;

修改后的代码:

Query query=session.createQuery(queryListHql);
query.setParameter(0,Params[0]);
if(Params.length==2)
query.setParameter(1, Params[1]);
query.setFirstResult(offset);
query.setMaxResults(pagesize);
List datas=query.list();

你可能感兴趣的:(错误:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String)