mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-09-22 11:23:01 +00:00
# Conflicts: # ebean-core/src/main/java/io/ebeaninternal/server/deploy/TablespaceMeta.java # ebean-core/src/main/java/io/ebeaninternal/server/type/RsetDataReader.java # ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java # ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java # ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/model/ModelContainerApplyTest.java # ebean-test/src/test/java/misc/migration/v1_0/EBasic.java # ebean-test/src/test/java/misc/migration/v1_1/MtmChild.java # ebean-test/src/test/java/misc/migration/v1_1/MtmMaster.java # ebean-test/src/test/java/org/tests/json/TestDbJson_List.java # ebean-test/src/test/resources/extra-ddl.xml # ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations # ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations # ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/I__create_tablespaces.sql # ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/idx_db2.migrations # ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations # ebean-test/src/test/resources/migrationtest/dbmigration/model/1.0__initial.model.xml # ebean-test/src/test/resources/migrationtest/dbmigration/model/1.1.model.xml
56 lines
1.9 KiB
Java
56 lines
1.9 KiB
Java
package org.tests.basic;
|
|
|
|
import io.ebean.xtest.BaseTestCase;
|
|
import io.ebean.DB;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.tests.model.basic.ResetBasicData;
|
|
import org.tests.model.interfaces.Address;
|
|
import org.tests.model.interfaces.ExtPerson1and2;
|
|
import org.tests.model.interfaces.IAddress;
|
|
import org.tests.model.interfaces.IExtPerson1;
|
|
import org.tests.model.interfaces.IExtPerson2;
|
|
import org.tests.model.interfaces.IPerson;
|
|
import org.tests.model.interfaces.Person;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
public class TestManyOneInterface extends BaseTestCase {
|
|
|
|
@Test
|
|
public void testEntityOverrideEntityImplements() {
|
|
ResetBasicData.reset();
|
|
|
|
IAddress a = DB.getDefault().createEntityBean(IAddress.class);
|
|
assertThat(a).isInstanceOf(Address.class);
|
|
|
|
IPerson p = DB.getDefault().createEntityBean(Person.class);
|
|
assertThat(p).isInstanceOf(ExtPerson1and2.class);
|
|
p = DB.getDefault().getPluginApi().createEntityBean(IPerson.class);
|
|
assertThat(p).isInstanceOf(ExtPerson1and2.class);
|
|
|
|
p.setDefaultAddress(a);
|
|
|
|
IAddress ea1 = DB.getDefault().createEntityBean(IAddress.class);
|
|
IAddress ea2 = DB.getDefault().createEntityBean(IAddress.class);
|
|
|
|
p.getExtraAddresses().add(ea1);
|
|
p.getExtraAddresses().add(ea2);
|
|
|
|
DB.save(p);
|
|
|
|
IAddress a2 = DB.find(IAddress.class, a.getOid());
|
|
IPerson p2 = DB.find(IPerson.class, p.getOid());
|
|
|
|
assertThat(a2).isInstanceOf(Address.class);
|
|
assertThat(p2).isNotNull().isInstanceOf(ExtPerson1and2.class);
|
|
assertThat(p2.getDefaultAddress()).isInstanceOf(Address.class);
|
|
|
|
// some more checks
|
|
IExtPerson1 pe1 = DB.getDefault().getPluginApi().createEntityBean(IExtPerson1.class);
|
|
IExtPerson2 pe2 = DB.getDefault().getPluginApi().createEntityBean(IExtPerson2.class);
|
|
assertThat(pe1).isInstanceOf(ExtPerson1and2.class);
|
|
assertThat(pe2).isInstanceOf(ExtPerson1and2.class);
|
|
|
|
}
|
|
}
|