今天使用Hibernate出个奇怪的错误,第一次碰到
Remember that ordinal parameters are 1-based!
原因是
问题发生的原因是:hql语句里不需要参数,却添加了一个参数,删掉添加参数的语句就可以了!
我的HQL语句:String hql="from Users as u where u.username=‘?’ and u.userpassword=‘?’";
Object[] param=new Object[]{“admin”,“000000”};
this.getHibernateTemplate().find(hql,param);
将HQL语句中''中的?没有解析成占位符,确解析成字符串了。
改成如下形式
String hql="from Users as u where u.username=? and u.userpassword=?";
Object[] param=new Object[]{“admin”,“000000”};
this.getHibernateTemplate().find(hql,param);
注意这边一个like情况