Bugfix/create entity bean unload (#1729)

* #1726 Add a testcase to reveal wrong behaviour of createEntityBean

* #1726 FIX: createEntityBean must not unload properties for "new" beans

(cherry picked from commit 270721bdb54373a83ef00b19a3c35da50f2a2bf5)
This commit is contained in:
jonasPoehler
2019-06-10 16:09:12 +12:00
committed by Rob Bygrave
parent 385cc76e34
commit 2923dd1d96
3 changed files with 91 additions and 6 deletions
@@ -0,0 +1,36 @@
package org.tests.basic;
import io.ebean.BaseTestCase;
import io.ebean.DB;
import io.ebean.Ebean;
import org.junit.Assert;
import org.junit.Test;
import org.tests.model.basic.EDefaultProp;
public class TestCreateEntityBean extends BaseTestCase {
@Test
public void testDefaultRelation() {
// Use `new` to construct EntityBean
final EDefaultProp beanNew = new EDefaultProp();
Ebean.save(beanNew);
final EDefaultProp beanNewDb = Ebean.find(EDefaultProp.class, beanNew.getId());
Assert.assertNotNull(beanNewDb);
Assert.assertEquals("defaultName", beanNew.getName());
Assert.assertNotNull(beanNewDb.geteSimple());
Assert.assertEquals("Default prop eSimple", beanNewDb.geteSimple().getName());
// Use `createEntityBean` to construct EntityBean and check if it behaves the same as `new`
final EDefaultProp beanCreateEntityBean = DB.getDefault().createEntityBean(EDefaultProp.class);
Ebean.save(beanCreateEntityBean);
final EDefaultProp beanCreateEntityBeanDb = Ebean.find(EDefaultProp.class, beanCreateEntityBean.getId());
Assert.assertNotNull(beanCreateEntityBeanDb);
Assert.assertEquals("defaultName", beanCreateEntityBeanDb.getName());
Assert.assertNotNull(beanCreateEntityBeanDb.geteSimple());
Assert.assertEquals("Default prop eSimple", beanCreateEntityBeanDb.geteSimple().getName());
}
}