读书人

org.hibernate.QueryParameterExcepti

发布时间: 2012-05-24 11:55:41 作者: rapoo

org.hibernate.QueryParameterException: Position beyond number of declared ordina
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();            }        });    } 

读书人网 >J2EE开发

热点推荐