写了一个测试程序,在执行到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();
}
}
如果将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();
}
}
query.setString("name", name);
Query query = session.createQuery(hql);
query.setString(0, name);
query.setParameter("name","name");
下面这一句 query.setParameter()还没有执行呢,上面就有问题了。
String hql = " from User a where a.name =?";这样写也不行
query.setParameter("name","name");OK
我都说了这句还没有执行,在query = session.createQuery(hql);这句就有问题了