日期:2014-05-19  浏览次数:20618 次

求hql查询integer为null的方法
有一实体类中有几个Integer型数据,对应数据库中int型,怎样用hql语句查询出此类的数据;例如:
num_db表中:id   name(varchar)   a(int)   b(int) 
            3     name1           null     4
用:hql="select n.id from Num n where n.a is null"是可以查单列数据的,但如果想查询实体数据呢????
不想用上边的方法每一列都查一遍,请高手指教。。。

------解决方案--------------------
数据库里用 int 型,那你实体类里就用 Integer 而不是用 int 来封装数据不就OK了
int a = null; 你知道这句会报错,
那 Integer a = null;  肯定就不会报错喽
实际使用,绝大多数都是用包装类来封装的,用基本数据类型应该很少了
------解决方案--------------------
重写hibernate的查询填充方法吧,如果那列查出来是null的话,就用三位运算符替换成0,这样就可以查到了