SAP Hana
测试
若要使用 SAP Hana 进行测试,请将 src/test/resources/application-test.yaml
中的 platform 设置为 hana
如果 application-test.yaml 尚未存在,请参阅 文档 / 测试。
ebean:
test:
platform: hana # h2, postgres, mysql, oracle, sqlserver
ddlMode: dropCreate # none | dropCreate | migrations
dbName: test
上述内容将使用以下默认值
用户名 | SYSTEM |
---|---|
密码 | HXEHana1 |
数据库名称 | HXE |
端口 | 39017 |
URL | jdbc:sap://localhost:{port}/?databaseName={databaseName} |
驱动程序 | com.sap.db.jdbc.Driver |
映像 | store/saplabs/hanaexpress:{version} |
ebean-hana 依赖项
如果我们只想引入 Hana 特定的平台代码,我们可以使用 io.ebean:ebean-hana
依赖项,而不是 io.ebean:ebean
。依赖于 io.ebean:ebean
会引入所有平台。
Docker 容器
我们可以以编程方式启动 Hana 的 docker 容器版本。
以下内容使用 ebean-test-docker
依赖项,该依赖项已随 ebean-test
一起提供。如果我们没有对 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();
}
}