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可以存储空值。