我出现错误的原因是hql语句里面没有那么多的?需要setParameter作赋值操作。又粗心了一次,谨记!
java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
错误的原因是hql不需要接那么多的参数,而我却传给hql过多的参数。又粗心了一次,谨记!
出错代码如下:String hql="from Mark m where m.student.studentId=? "+year+term+type+" and m.mark!=null";
Query query=session.createQuery(hql);
query.setParameter(0, id);
query.setParameter(1, year);
query.setParameter(2, term);
query.setParameter(3, type);