mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#430 - ENH: Support for UUID mapping to native DB UUID type (Postgres, H2)
This commit is contained in:
@@ -31,11 +31,13 @@ public class ServerConfigTest {
|
||||
Properties props = new Properties();
|
||||
props.setProperty("persistBatch", "INSERT");
|
||||
props.setProperty("persistBatchOnCascade", "INSERT");
|
||||
props.setProperty("dbuuid","binary");
|
||||
|
||||
serverConfig.loadFromProperties(props);
|
||||
|
||||
assertEquals(PersistBatch.INSERT, serverConfig.getPersistBatch());
|
||||
assertEquals(PersistBatch.INSERT, serverConfig.getPersistBatchOnCascade());
|
||||
assertEquals(ServerConfig.DbUuid.BINARY, serverConfig.getDbUuid());
|
||||
|
||||
serverConfig.setPersistBatch(PersistBatch.NONE);
|
||||
serverConfig.setPersistBatchOnCascade(PersistBatch.NONE);
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
package com.avaje.ebeaninternal.server.type;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.SqlRow;
|
||||
import com.avaje.tests.model.basic.UUOne;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
public class TestBinaryUUID extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
|
||||
|
||||
UUOne one0 = new UUOne();
|
||||
one0.setName("first one");
|
||||
|
||||
@@ -27,26 +27,31 @@ public class TestBinaryUUID extends BaseTestCase {
|
||||
|
||||
Ebean.save(one0);
|
||||
Ebean.save(one1);
|
||||
|
||||
|
||||
UUOne fetch0 = Ebean.find(UUOne.class, one0.getId());
|
||||
UUOne fetch1 = Ebean.find(UUOne.class, one1.getId());
|
||||
|
||||
Assert.assertEquals(one0.getId(), fetch0.getId());
|
||||
Assert.assertEquals(one0.getName(), fetch0.getName());
|
||||
|
||||
Assert.assertEquals(one1.getId(), fetch1.getId());
|
||||
Assert.assertEquals(one1.getName(), fetch1.getName());
|
||||
assertEquals(one0.getId(), fetch0.getId());
|
||||
assertEquals(one0.getName(), fetch0.getName());
|
||||
|
||||
assertEquals(one1.getId(), fetch1.getId());
|
||||
assertEquals(one1.getName(), fetch1.getName());
|
||||
|
||||
String sql = "select id, name from uuone";
|
||||
List<SqlRow> list = Ebean.createSqlQuery(sql).findList();
|
||||
for (SqlRow sqlRow : list) {
|
||||
Object sqlId = sqlRow.get("id");
|
||||
Assert.assertNotNull(sqlId);
|
||||
Assert.assertTrue(sqlId instanceof byte[]);
|
||||
assertNotNull(sqlId);
|
||||
UUID uuid = sqlRow.getUUID("id");
|
||||
Assert.assertNotNull(uuid);
|
||||
assertNotNull(uuid);
|
||||
}
|
||||
|
||||
|
||||
|
||||
String asJson = Ebean.json().toJson(fetch0);
|
||||
UUOne bean = Ebean.json().toBean(UUOne.class, asJson);
|
||||
|
||||
assertEquals(fetch0.getId(), bean.getId());
|
||||
assertEquals(fetch0.getName(), bean.getName());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user