Hibernate 传参失败
如题:请高手指教,为什么我不能使用Hibernate的各种传参方式呢? :参数名 这种也不行.每次执行到Query query=session.createQuery(hql);这一句就出错
java.lang.reflect.InvocationTargetExceptionpublic List<Keyword> getKeywordList(int currPage,int pageSize,String id,String content){
if(id==null)
{
id="";
}
if(content==null)
{
content="";
}
String hql="from Keyword where id like ? and content like ?";
System.out.println(hql);
Session session=hibernateTemplate.getSessionFactory().openSession();
Query query=session.createQuery(hql);
query.setParameter(0, id);
query.setParameter(0, content);
query.setFirstResult((currPage - 1) * pageSize).setMaxResults(pageSize);
System.out.println(query.list().size());
return query.list();
}
------解决方案--------------------
String hql="from Keyword where id like ? and content like ?";
你这里用like是模糊查询,下面的query.setParameter(0, id)应该要这样写query.setParameter(0, "%"+id+"%"),可以有其他的方式
query.setParameter(0, id);
query.setParameter(0, content); //改成query.setParameter(1, "%"+content+"%")