Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
<title>NuoDB | Ebean ORM</title>
<meta name="layout" content="_layout2/base-docs.html"/>
<meta name="bread1" content="Database platforms" href="/docs/database"/>
<meta name="bread2" content="NuoDB" href="/docs/database/nuodb"/>
<#assign n0_docs="active">
<#assign n1_platforms="active">
<#assign n2_nuodb="active">
To test against NuoDB docker test container set the <em>platform</em> to <code>postgres</code> in
Refer to <a href="/docs/testing">docs / testing</a> if application-test.yaml doesn't exist yet.
<pre content="yml">
platform: nuodb # h2, nuodb, postgres, ...
ddlMode: dropCreate # none | dropCreate | migrations
dbName: my_app
<h2 id="ebean-nuodb">ebean-nuodb dependency</h2>
We can use the <code>io.ebean:ebean-nuodb</code> dependency rather than <code>io.ebean:ebean</code> if we want to only
bring in the NuoDB specific platform code. Depending on <code>io.ebean:ebean</code> will bring in all platforms.
<h2 id="types">Types</h2>
NuoDB does not have a native UUID type. Instead this will be mapped to database <em>binary(16)</em> or
<em>varchar(40)</em> based on the setting of PlatformConfig.DbUuid.
<h5>Array types</h5>
NuoDB does not have array types and these types are instead simulated.
Properties with <code>@DbJson</code> and <code>@DbJsonB</code> are mapped to database varchar or clob.
<h2 id="history">History support</h2>
History support for NuoDB is provided by generating triggers and history table.
<h2 id="partitioning">Table Partitioning</h2>
NuoDB supports table partitioning but this is not supported by Ebean yet (via <em>@DbPartition</em>).
<h2 id="starting">Docker container</h2>
We can programmatically start a docker container version of NuoDB.
The below uses <code>ebean-test-docker</code> dependency which already comes with <code>ebean-test</code>.
If we do not have a dependency on <code>ebean-test</code> then add <code>io.ebean:ebean-test-docker:5.0</code>
as a dependency.
<pre content="java">
package main;
import io.ebean.docker.commands.NuoDBContainer;
public class Main {
public static void main(String[] args) {
NuoDBContainer container = NuoDBContainer.newBuilder("4.0")
<@next_edit "ElasticSearch" "/docs/database/elasticsearch" "/docs/database/nuodb/index.html"/>