NuoDB

测试

若要针对 NuoDB docker 测试容器进行测试,请在 src/test/resources/application-test.yaml 中将 platform 设置为 postgres

如果 application-test.yaml 尚未存在,请参阅 文档 / 测试

ebean:
  test:
  platform: nuodb # h2, nuodb, postgres, ...
    ddlMode: dropCreate # none | dropCreate | migrations
    dbName: my_app

ebean-nuodb 依赖项

如果我们只想引入 NuoDB 特定的平台代码,则可以使用 io.ebean:ebean-nuodb 依赖项,而不是 io.ebean:ebean。依赖于 io.ebean:ebean 将引入所有平台。

类型

UUID

NuoDB 没有本机 UUID 类型。相反,这将根据 PlatformConfig.DbUuid 的设置映射到数据库 binary(16)varchar(40)

数组类型

NuoDB 没有数组类型,而是模拟这些类型。

JSON

带有 @DbJson@DbJsonB 的属性映射到数据库 varchar 或 clob。

历史支持

通过生成触发器和历史表提供对 NuoDB 的历史支持。

表分区

NuoDB 支持表分区,但 Ebean 还不支持(通过 @DbPartition)。

Docker 容器

我们可以以编程方式启动 NuoDB 的 docker 容器版本。

以下使用 ebean-test-docker 依赖项,该依赖项已随附 ebean-test。如果我们没有对 ebean-test 的依赖项,则添加 io.ebean:ebean-test-docker:5.0 作为依赖项。

package main;

import io.ebean.docker.commands.NuoDBContainer;

public class Main {

  public static void main(String[] args) {

    NuoDBContainer container = NuoDBContainer.newBuilder("4.0")
      .schema("my_app")
      .user("my_app")
      .password("test")
      .build();

    container.start();
  }
}