日期:2014-05-18  浏览次数:20681 次

使用getHibernateTemplate().find返回值始终是null
代码如下
String username="aa";
String pass="haha";
Object[] bb={username,pass};

List ul =
         getHibernateTemplate().find("from Users au where au.username =? and au.password =?",bb);

我数据库里边有数据,与入的变量值相符。可是执行后返回的结果始终是null,就是ul始终是null。如果把hql语句中的?改成我想要查询的值,比如:
getHibernateTemplate().find("from Users au where au.username ='aa' and au.password ='haha');
返回值就不为空(ul中有数据)。

各位前辈帮帮忙,看看问题出在哪里了。

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

改成
List ul =getHibernateTemplate().find("from Users au where au.username =? and au.password =?",username,pass);


不行,还是返回值还是空

出现NullPointerException的不可能是hql问题,因为find方法始终会返回一个list即使没有数据也会返回一个size为0的list。你先看看你的getHibernateTemplate是否是空

这个地方没有出现NullPointerException,但是有的时候我使用list作为查找数据哭的函数的返回值的时候,会出现NullPointerException。

hql没有问题,会出现NullPointerException,请把异常贴出来