被一个貌似hsqldb bug的问题折磨了好几个小时。
把经过帖出来,大家帮我看看。

习惯把hql都写成预定义的形式,同时又为了避免过多的hql定义,我的惯用伎俩:通过如下方式定义hql。

sql 代码
 
  1. from Message
  2.  where packageKey=:packageKey
  3.   and ( null =  :fileKey or fileKey = :fileKey)
  4.   and (null = :objectKey or objectKey= :objectKey)
  5.   and (null = :memberKeys or memberKey in ( :memberKeys))  


但是。今天在hqldb上测试时发现,在任何情况下 (null = ?)  都为真!!!
非常奇怪,害我调试了老半天,后来把数据库换成了mysql,ok!!

非常奇怪啊。
不过,上面的写法(null =  :fileKey)也有点怪怪的。
评论
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

jindw
  • 浏览: 203632 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
  • 详细资料
搜索本博客
存档
最新评论