Hibernate getHibernateTemplate() find函数传参问题

1.hql拼接可以运行
图片说明
2.hql传参数进去,报错提示参数设置错误,可是都是这么写的啊。
这是是报错:图片说明
hiber5.2.0版本,

是不是名字中存在大小写的问题?

String hql="from User as user where user.id like :id";

factory=DBHelper.getSessionFactory();

Session session=factory.openSession();

Transaction transaction=session.beginTransaction();

Query query=session.createQuery(hql);

query.setString("id", "%"+id+"%");

用问号占位的话是用 query.setString(0,"name"),下标从0开始