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查询的话就不要用事务了。