`
jindw
  • 浏览: 508943 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

这是hsqldb的bug?还是自己的用法不对。

    博客分类:
  • Java
阅读更多
被一个貌似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)也有点怪怪的。
分享到:
评论

相关推荐

    hsqldb的最新版本

    7. **文档更新**:与新版本一同发布的可能还有更新后的用户手册和开发者指南,这些文档会详细介绍新特性和使用方法,帮助开发者更好地理解和使用HSQldb。 8. **社区支持**:HSQldb的社区活跃度是其持续发展的关键,...

    HSQLDB-JUnit5-Testes:HSQLDB JUnit 5软件测试

    《HSQLDB与JUnit5结合进行软件测试的深度解析》 在软件开发中,测试是不可或缺的一环,它确保了代码的质量...通过熟练掌握这两者的使用,我们可以提升测试的质量,降低bug的出现,从而提高整个项目的质量和开发效率。

    test-db-in-memory:在内存中使用db进行简单测试,例如HSQLDB和H2

    本篇文章将深入探讨如何在内存中使用db进行测试,特别是关注HSQLDB和H2这两个流行的Java内存在库数据库。 标题提及的“test-db-in-memory”项目,显然旨在为开发者提供一个在内存中测试数据库的框架或示例。这通常...

    mybatis分页插件的使用

    对于正在使用Mybatis进行数据操作的开发者而言,熟练掌握PageHelper的使用方法不仅能提高开发效率,还能有效提升应用性能。通过本文的介绍,希望能帮助大家更好地理解和应用PageHelper,为项目开发带来便利。

    掌握的jBPM的入门教程.doc

    通过简单的命令行操作,即可启动示例应用,了解基本的使用方法。 #### 四、jBPM4.3软件包结构 - **主要目录**: - **doc**:包含用户手册、API文档、架构文档等。 - **examples**:包含用户指南中使用的示例流程...

    JUnit(针对spring和hibernate)

    总的来说,结合JUnit、Spring和Hibernate进行测试,能够确保应用程序的各个层面都得到了充分验证,提高代码质量并减少潜在的bug。通过学习和实践这些测试技术,开发者可以构建更稳定、更易于维护的Java应用程序。

    Mybatis分页插件- PageHelper

    - **Page**:这是分页查询结果的容器类,继承自`ArrayList`,可以像普通列表一样使用。建议在业务层使用`List`接口接收数据,而在需要处理分页信息时,则可以通过`PageInfo`来进一步操作。 - **PageHelper**:这是...

    BuildTools测试用例

    "BuildTools测试用例"可能指的是一个专门用于构建自动化测试框架或工具的项目,这个项目可能包含了各种测试策略和方法,以确保软件的稳定性和可靠性。下面将详细解释测试用例的重要性和构建工具在其中的角色,以及...

    Hibernate Developer Guide

    - 使用命令行工具:`java -jar hibernate-tools-X.Y.Z.jar hbm2ddl -db hsqldb -dialect org.hibernate.dialect.HSQLDialect -input hibernate-mapping.hbm.xml` - 通过编程方式调用。 #### 四、事务和并发控制 ...

    J2EE程序员需掌握的技术

    - 单例,命令,工厂,工厂方法,观察者,模板,外观,访问者,状态,装饰器,桥接,DAO,责任链等:理解和应用设计模式。 掌握这些技术和框架将使你成为一位全面的J2EE程序员,能够适应各种企业级项目的挑战。不断...

Global site tag (gtag.js) - Google Analytics