项目使用hibernate框架得时候,有时会通过id去获取实体类对象,但有时会报一下错误:
org.hibernate.TypeMismatchException: Provided id of the wrong type for class xx. Expected: class java.lang.Integer, got class java.lang.String
比如代码通过以下dao层的get方法获取实体对象,要传实体的class和id,如果调用时id所传的参数是String字符串类型,就会报以上错误。
public T get(Class<T> c, Serializable id) {
return (T) getSession().get(c, id);
}
解决方法:假如id是String类型,就要转型Integer.parseInt(id)
本文地址:http://yayihouse.com/yayishuwu/chapter/1008