求hql查询integer为null的方法

int_ldh 2011-07-16 04:54:02
有一实体类中有几个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"是可以查单列数据的,但如果想查询实体数据呢????
不想用上边的方法每一列都查一遍,请高手指教。。。
...全文
1182 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyt51222 2013-01-08
  • 打赏
  • 举报
回复
@Column(name = "isDelete", length = 4) private Integer isDelete;
lyt51222 2013-01-08
  • 打赏
  • 举报
回复
转换成Inter也行
weiyangzhizhu 2011-07-18
  • 打赏
  • 举报
回复
select * from tb where isnull(a,"1")=1

用这个试试,应该可以
低调19950717 2011-07-18
  • 打赏
  • 举报
回复
重写hibernate的查询填充方法吧,如果那列查出来是null的话,就用三位运算符替换成0,这样就可以查到了
DearFen 2011-07-18
  • 打赏
  • 举报
回复
数据库里用 int 型,那你实体类里就用 Integer 而不是用 int 来封装数据不就OK了
int a = null; 你知道这句会报错,
那 Integer a = null; 肯定就不会报错喽
实际使用,绝大多数都是用包装类来封装的,用基本数据类型应该很少了
DearFen 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 w363403269 的回复:]

重点在int型的数据那,查询条件是int型字段为null的记录;如果数据库中int型字段记录“零填充”,或者字段为string型、date型,则用你们说的方法可以,但是int对应为null的时候,查询报错,就相当于int a = null;这个肯定不行。
待高手指教。。。
[/Quote]
hql 是符合JAVA 语言习惯的查询语言
要查 就按照 FROM Num n WHERE n.a=null 来查
xiangwendong 2011-07-18
  • 打赏
  • 举报
回复
你可以把对象该为String 就可以那样写了!
xiangwendong 2011-07-18
  • 打赏
  • 举报
回复
hql 针对持久化对象,它用来取得对象 你的对象里的属性是int 所以不能为空!对象默认值为0
int_ldh 2011-07-18
  • 打赏
  • 举报
回复
还没找到答案呢,求高手
int_ldh 2011-07-16
  • 打赏
  • 举报
回复
重点在int型的数据那,查询条件是int型字段为null的记录;如果数据库中int型字段记录“零填充”,或者字段为string型、date型,则用你们说的方法可以,但是int对应为null的时候,查询报错,就相当于int a = null;这个肯定不行。
待高手指教。。。
bapeiaw 2011-07-16
  • 打赏
  • 举报
回复
不太明白你的需求,如果只是查询为null的话from Num n where n.a is null就行拉
weiqiang1314 2011-07-16
  • 打赏
  • 举报
回复
select n from Num n where n.a is null 就OK
int_ldh 2011-07-16
  • 打赏
  • 举报
回复
自己顶一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧