参考 http://hsqldb.org/doc/2.0/guide/compatibility-chapt.html#coc_compatibility_mysql,兼容性只能解决一半的问题。大写的结果集元数据(列名(是一个问题!当 MySQL 在生产中使用时,这使得使用内存数据库进行测试变得复杂。我必须在我的控制器/顶点中散布代码以检查使用了哪个数据库(测试或非测试(,并通过在查询中双引号列名来格式化 SQL 查询字符串。
相关文章:Java 通用 JDBC SQL 查询策略,用于使用 HSQLDB 进行单元测试和使用 MySQL 的运行时
问:如何使用小写列名或如何将从 HSQLDB 返回的大写 RESULTSETMETADATA 转换为小写?
解决方案:放弃 HSQLDB 并使用带有 database_to_upper=false 选项的 H2。