diff --git a/src/test/java/com/avaje/tests/model/carwheeltruck/TCar.java b/src/test/java/com/avaje/tests/model/carwheeltruck/TCar.java new file mode 100644 index 000000000..24749a664 --- /dev/null +++ b/src/test/java/com/avaje/tests/model/carwheeltruck/TCar.java @@ -0,0 +1,42 @@ +package com.avaje.tests.model.carwheeltruck; + +import java.util.List; + +import javax.persistence.CascadeType; +import javax.persistence.DiscriminatorColumn; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; +import javax.persistence.OneToMany; + +@Entity +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name = "type") +@DiscriminatorValue("car") +public class TCar { + + @Id + String plateNo; + + @OneToMany(cascade = CascadeType.ALL) + List wheels; + + public String getPlateNo() { + return plateNo; + } + + public void setPlateNo(String plateNo) { + this.plateNo = plateNo; + } + + public List getWheels() { + return wheels; + } + + public void setWheels(List wheels) { + this.wheels = wheels; + } + +} diff --git a/src/test/java/com/avaje/tests/model/carwheeltruck/TTruck.java b/src/test/java/com/avaje/tests/model/carwheeltruck/TTruck.java new file mode 100644 index 000000000..d8f413fd7 --- /dev/null +++ b/src/test/java/com/avaje/tests/model/carwheeltruck/TTruck.java @@ -0,0 +1,25 @@ +package com.avaje.tests.model.carwheeltruck; + +import javax.persistence.DiscriminatorColumn; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; + +@Entity +@Inheritance(strategy=InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name="type") +@DiscriminatorValue("truck") +public class TTruck extends TCar { + + Long load; + + public Long getLoad() { + return load; + } + + public void setLoad(Long load) { + this.load = load; + } + +} diff --git a/src/test/java/com/avaje/tests/model/carwheeltruck/TWheel.java b/src/test/java/com/avaje/tests/model/carwheeltruck/TWheel.java new file mode 100644 index 000000000..9c8acd1d9 --- /dev/null +++ b/src/test/java/com/avaje/tests/model/carwheeltruck/TWheel.java @@ -0,0 +1,32 @@ +package com.avaje.tests.model.carwheeltruck; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.ManyToOne; + +@Entity +public class TWheel { + + @Id + Long id; + + @ManyToOne(optional=false) + TCar owner; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public TCar getOwner() { + return owner; + } + + public void setOwner(TCar owner) { + this.owner = owner; + } + +} diff --git a/src/test/java/com/avaje/tests/model/carwheeltruck/TestTruckCarWheelInhertiance.java b/src/test/java/com/avaje/tests/model/carwheeltruck/TestTruckCarWheelInhertiance.java new file mode 100644 index 000000000..aee4c63ab --- /dev/null +++ b/src/test/java/com/avaje/tests/model/carwheeltruck/TestTruckCarWheelInhertiance.java @@ -0,0 +1,33 @@ +package com.avaje.tests.model.carwheeltruck; + +import org.junit.Test; + +import com.avaje.ebean.BaseTestCase; +import com.avaje.ebean.Ebean; + +public class TestTruckCarWheelInhertiance extends BaseTestCase { + + @Test + public void test() { + + TTruck truck = new TTruck(); + truck.setPlateNo("foo"); + + TWheel wheel = new TWheel(); + wheel.setOwner(truck); + + Ebean.save(truck); + + // This save() works ok... + + // But if then is added one more wheel + wheel = new TWheel(); + wheel.setOwner(truck); + + // And save() is called again + Ebean.save(truck); + + // Then an exception is raised: + } + +} diff --git a/src/test/java/com/avaje/tests/query/other/TestFormulaWithFindCount.java b/src/test/java/com/avaje/tests/query/other/TestFormulaWithFindCount.java index e70c52d58..2d9bec246 100644 --- a/src/test/java/com/avaje/tests/query/other/TestFormulaWithFindCount.java +++ b/src/test/java/com/avaje/tests/query/other/TestFormulaWithFindCount.java @@ -2,8 +2,7 @@ package com.avaje.tests.query.other; import java.util.List; -import junit.framework.Assert; - +import org.junit.Assert; import org.junit.Test; import com.avaje.ebean.BaseTestCase; diff --git a/src/test/java/com/avaje/tests/query/other/TestManyLazyLoadingQuery.java b/src/test/java/com/avaje/tests/query/other/TestManyLazyLoadingQuery.java index 905798c32..c4eb9ff2d 100644 --- a/src/test/java/com/avaje/tests/query/other/TestManyLazyLoadingQuery.java +++ b/src/test/java/com/avaje/tests/query/other/TestManyLazyLoadingQuery.java @@ -3,8 +3,6 @@ package com.avaje.tests.query.other; import java.util.ArrayList; import java.util.List; -import javax.validation.constraints.AssertTrue; - import org.junit.Test; import com.avaje.ebean.BaseTestCase; @@ -56,7 +54,7 @@ public class TestManyLazyLoadingQuery extends BaseTestCase { beanProperty.addWhereParentIdIn(query0, parentIds); - List list0 = query0.findList(); + query0.findList(); } finally { Ebean.endTransaction(); diff --git a/src/test/java/com/avaje/tests/query/other/TestOneToManyAsMap.java b/src/test/java/com/avaje/tests/query/other/TestOneToManyAsMap.java index 6e7007268..4fa20a0d5 100644 --- a/src/test/java/com/avaje/tests/query/other/TestOneToManyAsMap.java +++ b/src/test/java/com/avaje/tests/query/other/TestOneToManyAsMap.java @@ -2,8 +2,7 @@ package com.avaje.tests.query.other; import java.util.Map; -import junit.framework.Assert; - +import org.junit.Assert; import org.junit.Test; import com.avaje.ebean.BaseTestCase;