错误:org.hibernate.QueryException: Expected positional parameter count: 2, actual parameters: [] [from User where username = ? and password = ?]
我出错的代码是:
Query q = session.createQuery( "from User where username = ? and password = ?");
原因:
在hql语句中有2个占位符“?”,则在query.setParameter()处,一定要有一个相对用的位被传入,否则会出现上述异常。
解决:
Query q = session.createQuery( "from User where username = ? and password = ?");
q.setString(0,username);
q.setString(1, password);
Query类的索引从0开始的,0代表第一个问号,1代表第二个问号。