Hibernate错误: Null value was assigned to a property of primitive type setter of …
这是因为查询数据库后返回的数据需要调用实体类中属性的setter来保存。
public class Example{
int i;
public void setI(int i){//注意这里的i不能传入null
this.i = i;
}
public int getI(){
return this.i;
}
}
如果属性是基本类型,同时数据库查询返回的数据为NULL空值的话,则会报错。
这是因为int作为基本类型是不能赋予null的,但是引用类型Integer可以。
于是上面的setter可以这样改动:
public void setI(Integer i){
if(i == null) this.i=0;//若实参i为null则类属性i赋值为0
else this.i = i;
}