写了一个测试程序,在执行到query = session.createQuery(hql); 发生异常,没报错,但跳转到HibernateTemplate不相关的类。
如果将hql改为String hql = " from User a where a.name =1";就能正常执行,为什么啊?纠结了半天,请教下大家,谢谢
  分数不够了,谢谢大家
 public Object doInHibernate(Session session)
            throws HibernateException, SQLException
        {
            String hql = " from User a where a.name =:name";
            Query query = null;
            try
            {
                query = session.createQuery(hql);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            
            return query.list();
        }
    }

解决方案 »

  1.   

    query = session.createQuery(hql);
    query.setString("name", name);
      

  2.   

    String hql = " from User a where a.name =:name";这样写都有问题,你如果要传值就要用 String hql = " from User a where a.name = "+"1";或者是 String hql = " from User a where a.name ="+name;然后给name变量赋值才对啊
      

  3.   

    String hql = " from User a where a.name =?";
    Query query = session.createQuery(hql);
    query.setString(0, name);
      

  4.   

      query = session.createQuery(hql);
       query.setParameter("name","name");
    下面这一句 query.setParameter()还没有执行呢,上面就有问题了。
    String hql = " from User a where a.name =?";这样写也不行
      

  5.   

    你的name只是个键这个键没有设置值,
    query.setParameter("name","name");OK
      

  6.   


    我都说了这句还没有执行,在query = session.createQuery(hql);这句就有问题了
      

  7.   

    问题解决了,是jar包冲突问题,哎,纠结了一下。