hibernate之参数绑定注意点

1.Query查询时,使用q.setParameter的方式设置参数:

	Session s=HibernateSessionFactory.getSession();
		String hql="from Computer c where c.id=:id";
		Query q=s.createQuery(hql);
		q.setParameter("id",1);
		List l=q.list();
		for(int i=0;i<l.size();i++)
		{
			Computer c=(Computer)l.get(i);
			System.out.println(c.getName());
		}

 如果设置的参数id是Long型的,执行时就会报如下错误:

java.lang.ClassCastException: java.lang.Integer

 这是因为setParameter会根据参数的类型和实际传递的参数类型去判断,如果类型不一致就会报错。

猜你喜欢

转载自gaoquanyang.iteye.com/blog/1094186