Spring EmbeddedDatabase with Derby 需要架构

Spring EmbeddedDatabase with Derby requiring schema

我正在尝试设置 EmbeddedDatabase 以在 Spring 中进行测试,但出现以下错误: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)
);

已经搜索了几个小时。还没找到解决方法。

你试过简单的creating an SA schema吗?老实说,我从未使用过 Derby,但我学到的一件事是,无论何时同时使用两个框架,总会有一些小问题。

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

CREATE SCHEMA SA;

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