在hibernate的应用查询时会抛出java.lang.IllegalArgumentException: No positional parameters in query:
这个异常的意思是找不到查询位置,这个是查询语句的问题。
如下:根据用户名admin和密码password查询admin,
在查询语句时方法。如
session = getSession();
Admin object = null;
Query query = null;
String conditon []={admin,password};
String hql = "from Admin";
if (condition.length > 0) {
query = session.createQuery(hql);
for (int i = 0; i < condition.length; i++) {
query.setParameter(i, condition[i]);
}
object = (Admin) query.list();
}
tx.commit();
在这里抛出了
No positional parameters in query: from Admin
的意思是
没有在位置参数赋,在这里只要把hql的语句改为 hql ="from Admin where admin =? and password =?";就可以了。在抛出这个异常的主要原因一般是查询语句的错误,只要认真查看一下自己的查询流程,应该可以找到