当前位置: 代码迷 >> Java Web开发 >> HQL有关问题,应该非常简单,解决马上给分
  详细解决方案

HQL有关问题,应该非常简单,解决马上给分

热度:66   发布时间:2016-04-17 16:03:05.0
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查询的话就不要用事务了。
  相关解决方案