下面的代码没问题:
ArrayList<String> arr = new ArrayList<String>();
arr.add(userInfo.getUserID());
arr.add(userInfo.getPassword());
return getHibernateTemplate().find(" from UserInfo where userID =? and password=? ", arr.toArray());
但改成:
return getHibernateTemplate().find(" from UserInfo ");//返回类型改了
就报错了,我是想查询出所有记录,hibernate输出在控制台的sql语句没有错,在数据库能执行,为什么还报错?
刚学hibernate。
报错:
java.lang.IllegalArgumentException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
……
------解决方案--------------------
写成 return getHibernateTemplate().find(" select user from UserInfo user");看看!
------解决方案--------------------
------解决方案--------------------
你把find暂时换成get试一下,如果通过了,那么就是lazy的事了
先等你试验
------解决方案--------------------
我也感觉是空导致的
------解决方案--------------------
感觉代码没问题,调用这个方法的方法怎么写的呢?