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?。

猜你喜欢

转载自wolfdream.iteye.com/blog/1017038