Hibernate查询出现java.lang.IllegalArgumentException。

异常信息如下:
java.lang.IllegalArgumentException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPro
pertyAccessor.java:66)

解决办法:
hiberate反程工程生成注释实体类,java数据类型为long或double。
必须改成大写的Long或Double,否则查询会出错。

这是因为oracle数据字段有空值,但long和double类型不能存储空值,而Long和Double可以存储空值。