无法在内存数据库中的HSQL上执行TRUNCATE语句
我正在使用HSQL内存数据库进行测试用例,它将执行无法在内存数据库中的HSQL上执行TRUNCATE语句,sql,hsqldb,in-memory-database,Sql,Hsqldb,In Memory Database,我正在使用HSQL内存数据库进行测试用例,它将执行 TRUNCATE TABLE TABLE_NAME IGNORE DELETE TRIGGERS DROP STORAGE IMMEDIATE 下面是运行测试用例时遇到的错误 StatementCallback; bad SQL grammar [TRUNCATE TABLE TABLE_NAME]; nested exception is java.sql.SQLException: Unexpected token: TRUNCATE
TRUNCATE TABLE TABLE_NAME IGNORE DELETE TRIGGERS DROP STORAGE IMMEDIATE
下面是运行测试用例时遇到的错误
StatementCallback; bad SQL grammar [TRUNCATE TABLE TABLE_NAME];
nested exception is java.sql.SQLException: Unexpected token: TRUNCATE in statement [TRUNCATE]
TRUNCATE应该可以在HSQLDB中使用,但是在HSQLDB中表名之后的所有内容都是无效的,如手册中所述:如果使用HSQLDB,为什么要添加db2标记?需要为spring DAO类编写JUnit,它正在与DB2和查询isTRUNCATE表TABLE_NAME IGNORE DELETE触发器DROP STORAGE IMMEDIATE对话。因此,我需要在不修改源查询的情况下编写JUnit类。当然HSQLDB支持TRUNCATE语句,但需要用作源查询。HSQLDB是否有DB2模板?如果没有,请向我推荐解决方案。我个人认为,针对生产中使用的不同DBMS进行测试是没有意义的。有明显的语法差异要求您更改代码,这使得测试无效,因为您正在测试不同的代码,还有一些行为差异,有时非常微妙,可能导致代码通过测试,但在生产中失败。请分享如何设置单机/serverJBOSS或任何其他软件测试上述场景的开源环境