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会根据参数的类型和实际传递的参数类型去判断,如果类型不一致就会报错。

你可能感兴趣的:(java,C++,c,Hibernate,C#)