• 调用jpa框架的findById()可能会出现Null value was assigned to a property of……错误,就是null值被赋予某个属性错误。
  • 经检查,获取到的这条记录由于存在一个int型字段的值为null(主要是插入时该字段为空所以默认设为了null),而基本类型不能被赋值为null(编译器将会报错)。
  • null既不是对象也不是类型,它仅是一种特殊的值,可以将其赋值给任何引用类型(它们的默认值也都是null),但不能赋值给基本类型(int的默认值为0,boolean的默认值为false)。
  • Java将值为null的包装类拆箱为基本类型时会抛出空指针异常,如:

    Integer isNull = null;
    int i = isNull; //编译时不会报错
    
  • 因此,数据库中记得要给int型设置默认值为0或不为null,get/set之前也先进行验证:if(i>=0||i!=null);