具有Derby的Spring EmbeddedDatabase需要模式

时间:2016-07-08 17:06:51

标签: spring derby

我尝试在Spring中设置EmbeddedDatabase进行测试,但我收到以下错误:java.sql.SQLSyntaxErrorException: Schema 'SA' does not exist

从以下代码:

private DataSource dataSource() {
            return new EmbeddedDatabaseBuilder()
                    .generateUniqueName(true)
                    .setType(EmbeddedDatabaseType.DERBY)
                    .addScript("tables_data.sql")
                    .build();
        }

SQL是:

CREATE TABLE person (
     id    BIGSERIAL,
     name  varchar(200)
);

一直在寻找几个小时。 Haven找不到解决方案。

2 个答案:

答案 0 :(得分:1)

您是否尝试过creating an SA schema?老实说,我从来没有使用过Derby,但我学到的一件事是,只要你一起使用两个框架,总会有一些小怪癖。

答案 1 :(得分:0)

只需在SQL的顶部添加CREATE SCHEMA行即可。所以你的SQL应该是这样的:

CREATE SCHEMA SA;

CREATE TABLE person (
     id    BIGSERIAL,
     name  varchar(200)
);