hql查询的奇怪问题:生成了同样的SQL,但是查询结果不同
数据库中有一表Member(id,email),已经有一条记录('123','sdf@sfd.com');
使用以下语句查询:
String hql = "select count(*) from Member where email=:email and id!=:id";
List list = this.support.getHibernateTemplate().findByNamedParam(hql,new String[] { "email", "id" },new Object[] { "sdf@sfd.com", null });
System.out.println(list.get(0));
打印结果为0
把其中的new Object[] { "sdf@sfd.com", null });
改为new Object[] { "sdf@sfd.com", "" });
,,结果就为1
我使用p6spy看执行的语句,发现这两句生成的SQL是一模一样的,都是 select count(*) ..... and id<>''
为什么一个能查得出来,一个查不出来???真是奇怪。请各位大哥帮忙