hibernate执行session.createQuery(hql)时hql若有参数则报错

2025-03-23 15:33:07
推荐回答(4个)
回答1:

换个方式传入参数,这种方法有时会出错,你可以改成
String hql = "FROM Users as s where s.name=:a and s.password =:b";
Query q = session.createQuery(hql);
q.setString("a", user.getName());
q.setString("b", user.getPassword());
这样就行了

回答2:

你能不能把 q.setString(0, user.getName());
q.setString(1, user.getPassword()); 这两句 放在
Query q = session.createQuery(hql);这个执行语句之前

回答3:

估计是antlr 的版本不对应

回答4:

应该是项目中存在多个版本的antlr.jar,删掉低版本的,并清理下项目应该就可以了