Hibernate查询出现java.lang.IllegalArgumentException异常
?
今天遇到一个问题,记录一下。
?
用Hibernate进行一个简单的查询语句,竟然报java.lang.IllegalArgumentException异常
?
不知道是什么原因!!!!
?
?
后面经查证,是因为数据库中一个字段的类型为NUmber,但是POJO的类型为int
而该字段又可以为空,没有设默认值,所以该字段没有值时,其值null
?
这样hibernate云查询的时候,就会将null赋给类型为int的数据。
这个时候就会报java.lang.IllegalArgumentException异常了,
?
这都是因为在程序开发设计过程中,没有注意小问题引起的。
?
建议:
?
POJO的类型最好用包装类,不要使用基本类,
比如将int改为Integer
或者
数据库设计过程中,记得考虑Number类型为null的情况,可以将number设置默认值0?。
?