我想使用HSQL进行集成测试。因此,我想设置与我用于生产的完全相同的脚本的测试模式。这是postgresql方言。在测试脚本中,我试图设置方言,但它似乎不起作用。
至少对于uuid数据类型和约束,我得到语法错误异常。例如。我得到了:
CREATE TABLE testtable(id bigint NOT NULL,some_uuid uuid NOT NULL, name character characters(32)NOT NULL,CONSTRAINT testtable PRIMARY KEY (id))WITH(OIDS = FALSE);嵌套异常是 java.sql.SQLSyntaxErrorException:未找到类型或用户缺少类型 特权:UUID
以下脚本:
SET DATABASE SQL SYNTAX PGS TRUE;
CREATE TABLE testtable
(
id bigint NOT NULL,
some_uuid uuid NOT NULL,
name character varying(32) NOT NULL,
CONSTRAINT testtable PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
我得到了:
无法执行类路径资源的SQL脚本语句#2 [setupTestData.sql]:CREATE TABLE testtable(id bigint NOT NULL,name 字符变化(32)NOT NULL,CONSTRAINT testtable PRIMARY KEY(id) )WITH(OIDS = FALSE);嵌套异常是 java.sql.SQLSyntaxErrorException:意外令牌:(
这个脚本:
SET DATABASE SQL SYNTAX PGS TRUE;
CREATE TABLE testtable
(
id bigint NOT NULL,
--some_uuid uuid NOT NULL,
name character varying(32) NOT NULL,
CONSTRAINT testtable PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
答案 0 :(得分:0)
HSQLDB 2.3.4及更高版本支持UUID。
HSQLDB目前不支持PostgreSQL扩展WITH (ODS= FALSE)