HQL问题,应该非常简单,解决马上给分
为什么 下面的不能查询出来
Query q=session.createQuery( "from User where username=? ");
q.setString(0,username);
list = q.list();
tx.commit();
而
Query q=session.createQuery( "from User ");
list = q.list();
tx.commit();
------解决方案--------------------下面的就可以查询出结果,不知道原因
------解决方案--------------------String hql= "from User user where user.username=:username ";
Query query=session.createQuery(hql);
query.serParameter( "username ",username);
用spring可以写成这样
String hql= "from Admin admin where admin.username=? ";
List user=hibernateTemplate.find(hql,username);
------解决方案--------------------Query q=session.createQuery( "from User where username=? ");
q.setString(0,username);
list = q.list();
你可以试试下面的方法
Query q=session.createQuery( "from User where username=? ");
q.setParamter(0,username);
list = q.list();
或者
Query query = session.createQuery( "from User where username=:name ");
query.setParamter( "name ",username);
list = query.list();
还有.检查一下你的映射类中的字段username是不是userName
------解决方案--------------------Query query = session.createQuery( "from User where username=:name ");
query.setParamter( "name ",username);
list = query.list();
还有建议LZ查询的话就不要用事务了。