SAP Hana

テスト

SAP Hana を使用してテストする場合、src/test/resources/application-test.yamlplatformhana に設定します。

application-test.yaml がまだ存在しない場合は ドキュメント / テスト を参照してください。

ebean:
  test:
    platform: hana # h2, postgres, mysql, oracle, sqlserver
    ddlMode: dropCreate # none | dropCreate | migrations
    dbName: test

上記では、次のデフォルトが使用されます

ユーザー名SYSTEM
パスワードHXEHana1
データベース名HXE
ポート39017
URLjdbc:sap://:{port}/?databaseName={databaseName}
ドライバーcom.sap.db.jdbc.Driver
イメージstore/saplabs/hanaexpress:{version}

ebean-hana 依存関係

Hana 固有のプラットフォーム コードのみを取り込む場合は、io.ebean:ebean の代わりに io.ebean:ebean-hana 依存関係を使用できます。io.ebean:ebean に依存すると、すべてのプラットフォームが取り込まれます。

Docker コンテナー

Hana の Docker コンテナー バージョンをプログラムで開始できます。

下記では、ebean-test にすでに付属している ebean-test-docker 依存関係を使用しています。ebean-test に依存していない場合は、依存関係として io.ebean:ebean-test-docker:5.0 を追加します。

package main;

import io.ebean.docker.commands.HanaContainer;

public class Main {

  public static void main(String[] args) {

    HanaContainer.Builder builder = HanaContainer.newBuilder("2.00.033.00.20180925.2");
    builder.port(39117);
    builder.instanceNumber("91");
    try {
      builder.passwordsUrl(new URL("file:///hana/mounts/" + this.passwordsFile.getFileName()));
    } catch (MalformedURLException e) {
      fail(e.getMessage());
    }
    builder.mountsDirectory(this.tempDir.toString());
    builder.agreeToSapLicense(false);

    HanaContainer container = builder.build();

    container.start();
  }
}