Hiberante中No positional parameters in query: (找不到查询位置)

        在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 =?";就可以了。在抛出这个异常的主要原因一般是查询语句的错误,只要认真查看一下自己的查询流程,应该可以找到




你可能感兴趣的:(Hibernate,object,String,session,query,Parameters)