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的话什么都不显示,比较友好。
查询结果中包含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的话什么都不显示,比较友好。
相关文章推荐
- UISearchDisplayController简单使用
- spannableStringBuilder 用法详解
- SpannableString与SpannableStringBuilder
- UIView常用的一些方法
- POJ 1019 number sequece数学处理
- 快速排序算法(QuickSort)
- iOS UIProgressView 的progress属性 在循环中赋值无效 解决方案
- 本地推送UILocalNotification(整理)
- UI/UIWindow/UIView
- 通过UIEdgeInsetsMake来制作可伸缩的Button(图片拉伸)
- zzulioj 1801: xue姐的小动物 (排序)水
- UEFI启动模式安装ubuntu指南
- iOS点击UITableView的cell,弹出UIAlertController有时会出现延迟
- iOS 设置UITextField的placeholder属性的颜色
- Building librtmp for iOS
- jsp Request获取url信息的各种方法比较
- POJ-2299 Ultra_QuickSort 线段树+逆序对数
- POJ-2299 Ultra_QuickSort 线段树+逆序对数
- 如何给UIViewController瘦身
- UICollectionView可移动item