您的位置:首页 > 产品设计 > UI/UE

Exception:exception setting property value with CGLIB

2015-12-09 19:20 232 查看
实体类Dhjl_smhy 中的UserId字段之前写的是long类型的,后来为了表示层的友好,改成了Integer类型,插入时UserId字段不插入,为null。

查询结果中包含null的值,对于一些数字或boolean包含null,定义该项时必须使用wrapper类型,而不能是primitive类型,例如使用Integer而不能是int,Boolean而不能是boolean否则会抛出exception

主要是数据库中的long ,int等原始数据类型为null,如果hibernate映射文件的字段类型为long,由于null不能赋值给原始类型,所以报错。

解决方法1:让字段不为空;

解决方法2:把映射文件的字段改为对象。如long 改为 Long ,int 改为Integer,

double改为 Double

就是int,double,float等值数据库中存储的是null,所以报了这个错误

==》换成wrapper类型Integer,Long,Double

附:原始类型和封装类型的区别

最开始设计的初衷就是这样:Integer和int类型null和0这分别是他们的默认值,

integer已经被封装成一个对象了,但是int没有,

运用的场合也不一样:

int主要用于数值的增减,integer主要运用web表示表示层的显示;

如果int的话,那就会显示0,但是integer的话什么都不显示,比较友好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: