org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 1
我的查询语句是这样的,求解答。
- Java code
List<Admin> list= this.getHibernateTemplate().find("from domain.Admin admin where admin.name =? and admin.password=?", admin.getName(),admin.getPassword());
------解决方案--------------------
admin.getName(),admin.getPassword() 你确定这俩个参数不为空么?
------解决方案--------------------
List<Admin> list= this.getHibernateTemplate().find("from domain.Admin admin where admin.name =? and admin.password=?", admin.getName(),admin.getPassword());
你用的那个版本 啊, 好像没这样 用的吧getHibernateTemplate().find(hql,param[])
------解决方案--------------------
源码是否是这个?
hibernate版本是 3.0.1
- Java code
public List find(final String queryString, final Object... values) throws DataAccessException { return executeWithNativeSession(new HibernateCallback<List>() { public List doInHibernate(Session session) throws HibernateException { Query queryObject = session.createQuery(queryString); prepareQuery(queryObject); if (values != null) { for (int i = 0; i < values.length; i++) { queryObject.setParameter(i, values[i]); } } return queryObject.list(); } }); }