隨筆-57  評論-129  文章-0  trackbacks-0
          被一個貌似hsqldb bug的問題折磨了好幾個小時。
          把經過帖出來,大家幫我看看。

          習慣把hql都寫成預定義的形式,同時又為了避免過多的hql定義,我的慣用伎倆:通過如下方式定義hql。

           from Message
            
          where packageKey=:packageKey
             
          and ( null =  :fileKey or fileKey = :fileKey)
             
          and ( null = :objectKey or objectKey= :objectKey)
             
          and ( null = :memberKeys or memberKey in ( :memberKeys)) 


          但是。今天在hqldb上測試時發現,在任何情況下 (null = ?)  都為真!!!
          非常奇怪,害我調試了老半天,后來把數據庫換成了mysql,ok!!

          非常奇怪啊。
          不過,上面的寫法(null =  :fileKey)也有點怪怪的。
          posted on 2007-10-18 22:31 金大為 閱讀(805) 評論(2)  編輯  收藏 所屬分類: Java

          評論:
          # re: 這是hsqldb的bug?還是自己的用法不對。 2007-10-19 08:42 | Tiger F
          是否為null的語法應該用 is null 的吧  回復  更多評論
            
          # re: 這是hsqldb的bug?還是自己的用法不對。 2007-10-19 20:08 | 金大為
          @Tiger F
          謝謝回復
          hibernate 會翻譯過去,這不是問題,就算你寫成is null,情況依然。  回復  更多評論
            
          主站蜘蛛池模板: 宝应县| 高安市| 漳州市| 长白| 武功县| 霍州市| 任丘市| 彝良县| 平潭县| 武鸣县| 内丘县| 福鼎市| 贵港市| 湛江市| 全椒县| 周口市| 色达县| 阜新市| 铁岭县| 成安县| 河源市| 苍山县| 汕尾市| 长治市| 西乡县| 习水县| 鹤山市| 新河县| 鄢陵县| 海门市| 屏山县| 泉州市| 白玉县| 安达市| 城口县| 仁布县| 北川| 东至县| 泰宁县| 绩溪县| 余姚市|