From 340b100a1ab1e432ea315a02a1803f8f85614291 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Tue, 14 Aug 2018 22:09:01 +1200 Subject: [PATCH] No effective change - Add test for OneToOne orphanRemoval=true and String Ids (non generated ids) --- .../org/tests/model/onetoone/OtoAone.java | 19 ++++++++ .../org/tests/model/onetoone/OtoAtwo.java | 47 +++++++++++++++++++ .../onetoone/TestOneToOneOrphanStringId.java | 39 +++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 src/test/java/org/tests/model/onetoone/OtoAone.java create mode 100644 src/test/java/org/tests/model/onetoone/OtoAtwo.java create mode 100644 src/test/java/org/tests/model/onetoone/TestOneToOneOrphanStringId.java diff --git a/src/test/java/org/tests/model/onetoone/OtoAone.java b/src/test/java/org/tests/model/onetoone/OtoAone.java new file mode 100644 index 000000000..9716b4a37 --- /dev/null +++ b/src/test/java/org/tests/model/onetoone/OtoAone.java @@ -0,0 +1,19 @@ +package org.tests.model.onetoone; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class OtoAone { + + @Id + private String id; + + private String description; + + public OtoAone(String id, String description){ + this.id = id; + this.description = description; + } + +} diff --git a/src/test/java/org/tests/model/onetoone/OtoAtwo.java b/src/test/java/org/tests/model/onetoone/OtoAtwo.java new file mode 100644 index 000000000..d60bfb5c1 --- /dev/null +++ b/src/test/java/org/tests/model/onetoone/OtoAtwo.java @@ -0,0 +1,47 @@ +package org.tests.model.onetoone; + +import javax.persistence.CascadeType; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.OneToOne; + +@Entity +public class OtoAtwo { + + @Id + private String id; + + private String description; + + @OneToOne(orphanRemoval=true, cascade = CascadeType.ALL) + private OtoAone aone; + + public OtoAtwo(String id, String description){ + this.id = id; + this.description = description; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public OtoAone getAone() { + return aone; + } + + public void setAone(OtoAone aone) { + this.aone = aone; + } +} diff --git a/src/test/java/org/tests/model/onetoone/TestOneToOneOrphanStringId.java b/src/test/java/org/tests/model/onetoone/TestOneToOneOrphanStringId.java new file mode 100644 index 000000000..de738af4e --- /dev/null +++ b/src/test/java/org/tests/model/onetoone/TestOneToOneOrphanStringId.java @@ -0,0 +1,39 @@ +package org.tests.model.onetoone; + +import io.ebean.BaseTestCase; +import io.ebean.Ebean; +import org.ebeantest.LoggedSqlCollector; +import org.junit.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class TestOneToOneOrphanStringId extends BaseTestCase { + + @Test + public void test() { + + OtoAone a = new OtoAone("a", "a test"); + OtoAtwo b = new OtoAtwo("b", "b test"); + b.setAone(a); + + LoggedSqlCollector.start(); + + Ebean.save(b); + + List inserts = LoggedSqlCollector.current(); + assertThat(inserts).hasSize(2); + assertThat(inserts.get(0)).contains("insert into oto_aone"); + assertThat(inserts.get(1)).contains("insert into oto_atwo"); + + Ebean.delete(b); + + List deletes = LoggedSqlCollector.stop(); + assertThat(deletes).hasSize(2); + assertThat(deletes.get(0)).contains("delete from oto_atwo"); + assertThat(deletes.get(1)).contains("delete from oto_aone"); + } +} + +