http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java new file mode 100644 index 0000000..17e1222 --- /dev/null +++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java @@ -0,0 +1,24 @@ +package org.apache.cayenne.testdo.inheritance_vertical.auto; + +import org.apache.cayenne.testdo.inheritance_vertical.IvRoot; + +/** + * Class _IvSub1 was generated by Cayenne. + * It is probably a good idea to avoid changing this class manually, + * since it may be overwritten next time code is regenerated. + * If you need to make any customizations, please use subclass. + */ +public abstract class _IvSub1 extends IvRoot { + + public static final String SUB1NAME_PROPERTY = "sub1Name"; + + public static final String ID_PK_COLUMN = "ID"; + + public void setSub1Name(String sub1Name) { + writeProperty(SUB1NAME_PROPERTY, sub1Name); + } + public String getSub1Name() { + return (String)readProperty(SUB1NAME_PROPERTY); + } + +}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java new file mode 100644 index 0000000..9dffcfc --- /dev/null +++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java @@ -0,0 +1,24 @@ +package org.apache.cayenne.testdo.inheritance_vertical.auto; + +import org.apache.cayenne.testdo.inheritance_vertical.IvSub1; + +/** + * Class _IvSub1Sub1 was generated by Cayenne. + * It is probably a good idea to avoid changing this class manually, + * since it may be overwritten next time code is regenerated. + * If you need to make any customizations, please use subclass. + */ +public abstract class _IvSub1Sub1 extends IvSub1 { + + public static final String SUB1SUB1NAME_PROPERTY = "sub1Sub1Name"; + + public static final String ID_PK_COLUMN = "ID"; + + public void setSub1Sub1Name(String sub1Sub1Name) { + writeProperty(SUB1SUB1NAME_PROPERTY, sub1Sub1Name); + } + public String getSub1Sub1Name() { + return (String)readProperty(SUB1SUB1NAME_PROPERTY); + } + +} http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java new file mode 100644 index 0000000..b222715 --- /dev/null +++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java @@ -0,0 +1,32 @@ +package org.apache.cayenne.testdo.inheritance_vertical.auto; + +import org.apache.cayenne.testdo.inheritance_vertical.IvRoot; + +/** + * Class _IvSub2 was generated by Cayenne. + * It is probably a good idea to avoid changing this class manually, + * since it may be overwritten next time code is regenerated. + * If you need to make any customizations, please use subclass. + */ +public abstract class _IvSub2 extends IvRoot { + + public static final String SUB2ATTR_PROPERTY = "sub2Attr"; + public static final String SUB2NAME_PROPERTY = "sub2Name"; + + public static final String ID_PK_COLUMN = "ID"; + + public void setSub2Attr(String sub2Attr) { + writeProperty(SUB2ATTR_PROPERTY, sub2Attr); + } + public String getSub2Attr() { + return (String)readProperty(SUB2ATTR_PROPERTY); + } + + public void setSub2Name(String sub2Name) { + writeProperty(SUB2NAME_PROPERTY, sub2Name); + } + public String getSub2Name() { + return (String)readProperty(SUB2NAME_PROPERTY); + } + +} http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java index 1c20b72..4677151 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java @@ -68,7 +68,7 @@ public class SchemaBuilder { public static final String SKIP_SCHEMA_KEY = "cayenne.test.schema.skip"; - private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml", + private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml", "inheritance.map.xml", "locking.map.xml", "soft-delete.map.xml", "relationships.map.xml", "relationships1.map.xml", "multi-tier.map.xml", "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml", "map-to-many.map.xml", "toone.map.xml", "meaningful-pk.map.xml", "table-primitives.map.xml", http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java index 9e2f648..4cd2e2e 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java @@ -30,8 +30,9 @@ public class ServerCase extends DICase { // can define their own on the fly (TODO: how would that work with the // global schema // setup?) - public static final String INHERTITANCE_SINGLE_TABLE1_PROJECT = "cayenne-inheritance-single-table1.xml"; - public static final String INHERTITANCE_VERTICAL_PROJECT = "cayenne-inheritance-vertical.xml"; + public static final String INHERITANCE_SINGLE_TABLE1_PROJECT = "cayenne-inheritance-single-table1.xml"; + public static final String INHERITANCE_VERTICAL_PROJECT = "cayenne-inheritance-vertical.xml"; + public static final String INHERITANCE_PROJECT = "cayenne-inheritance.xml"; public static final String LOCKING_PROJECT = "cayenne-locking.xml"; public static final String SOFT_DELETE_PROJECT = "cayenne-soft-delete.xml"; public static final String QUOTED_IDENTIFIERS_PROJECT = "cayenne-quoted-identifiers.xml"; http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java index e64261a..5e05024 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java @@ -19,7 +19,7 @@ package org.apache.cayenne.unit.jira; -import org.apache.cayenne.testdo.inherit.Manager; +import org.apache.cayenne.testdo.inheritance_people.Manager; /** */ http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java index f3dac5a..a76ec07 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java @@ -19,7 +19,7 @@ package org.apache.cayenne.unit.jira; -import org.apache.cayenne.testdo.inherit.Manager; +import org.apache.cayenne.testdo.inheritance_people.Manager; /** */ http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java index d6d9a30..bf95dab 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java @@ -23,9 +23,9 @@ import org.apache.cayenne.PersistenceState; import org.apache.cayenne.access.DataContext; import org.apache.cayenne.di.Inject; import org.apache.cayenne.query.SelectQuery; -import org.apache.cayenne.testdo.inherit.Department; -import org.apache.cayenne.testdo.inherit.Employee; -import org.apache.cayenne.testdo.inherit.Manager; +import org.apache.cayenne.testdo.inheritance_people.Department; +import org.apache.cayenne.testdo.inheritance_people.Employee; +import org.apache.cayenne.testdo.inheritance_people.Manager; import org.apache.cayenne.unit.di.DataChannelInterceptor; import org.apache.cayenne.unit.di.UnitTestClosure; import org.apache.cayenne.unit.di.server.ServerCase; http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/cayenne-inheritance.xml ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/resources/cayenne-inheritance.xml b/cayenne-server/src/test/resources/cayenne-inheritance.xml new file mode 100644 index 0000000..a76c22c --- /dev/null +++ b/cayenne-server/src/test/resources/cayenne-inheritance.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<domain project-version="7"> + <map name="inheritance"/> +</domain> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/inheritance-vertical.map.xml ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/resources/inheritance-vertical.map.xml b/cayenne-server/src/test/resources/inheritance-vertical.map.xml index 09bb96d..7bacee6 100644 --- a/cayenne-server/src/test/resources/inheritance-vertical.map.xml +++ b/cayenne-server/src/test/resources/inheritance-vertical.map.xml @@ -42,40 +42,40 @@ <db-attribute name="SUB2_ATTR" type="VARCHAR" length="100"/> <db-attribute name="SUB2_NAME" type="VARCHAR" length="100"/> </db-entity> - <obj-entity name="Iv1Root" className="org.apache.cayenne.testdo.inheritance.vertical.Iv1Root" dbEntityName="IV1_ROOT"> + <obj-entity name="Iv1Root" className="org.apache.cayenne.testdo.inheritance_vertical.Iv1Root" dbEntityName="IV1_ROOT"> <obj-attribute name="discriminator" type="java.lang.String" db-attribute-path="DISCRIMINATOR"/> <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/> </obj-entity> - <obj-entity name="Iv1Sub1" superEntityName="Iv1Root" className="org.apache.cayenne.testdo.inheritance.vertical.Iv1Sub1"> + <obj-entity name="Iv1Sub1" superEntityName="Iv1Root" className="org.apache.cayenne.testdo.inheritance_vertical.Iv1Sub1"> <qualifier><![CDATA[discriminator = "Iv1Sub1"]]></qualifier> <obj-attribute name="name" type="java.lang.String" db-attribute-path="sub1.SUB1_NAME"/> <attribute-override name="name" db-attribute-path="sub1.SUB1_NAME"/> </obj-entity> - <obj-entity name="Iv2Root" abstract="true" className="org.apache.cayenne.testdo.inheritance.vertical.Iv2Root" dbEntityName="IV2_ROOT"> + <obj-entity name="Iv2Root" abstract="true" className="org.apache.cayenne.testdo.inheritance_vertical.Iv2Root" dbEntityName="IV2_ROOT"> <obj-attribute name="discriminator" type="java.lang.String" db-attribute-path="DISCRIMINATOR"/> </obj-entity> - <obj-entity name="Iv2Sub1" superEntityName="Iv2Root" className="org.apache.cayenne.testdo.inheritance.vertical.Iv2Sub1"> + <obj-entity name="Iv2Sub1" superEntityName="Iv2Root" className="org.apache.cayenne.testdo.inheritance_vertical.Iv2Sub1"> <qualifier><![CDATA[discriminator = "Iv2Sub1"]]></qualifier> </obj-entity> - <obj-entity name="Iv2X" className="org.apache.cayenne.testdo.inheritance.vertical.Iv2X" dbEntityName="IV2_X"> + <obj-entity name="Iv2X" className="org.apache.cayenne.testdo.inheritance_vertical.Iv2X" dbEntityName="IV2_X"> </obj-entity> - <obj-entity name="IvRoot" className="org.apache.cayenne.testdo.inheritance.vertical.IvRoot" dbEntityName="IV_ROOT"> + <obj-entity name="IvRoot" className="org.apache.cayenne.testdo.inheritance_vertical.IvRoot" dbEntityName="IV_ROOT"> <obj-attribute name="discriminator" type="java.lang.String" db-attribute-path="DISCRIMINATOR"/> <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/> </obj-entity> - <obj-entity name="IvSub1" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance.vertical.IvSub1"> + <obj-entity name="IvSub1" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance_vertical.IvSub1"> <qualifier><![CDATA[discriminator = "IvSub1"]]></qualifier> <obj-attribute name="sub1Name" type="java.lang.String" db-attribute-path="sub1.SUB1_NAME"/> <attribute-override name="discrimiantor" db-attribute-path="DISCRIMINATOR"/> <attribute-override name="discriminator" db-attribute-path="DISCRIMINATOR"/> <attribute-override name="name" db-attribute-path="NAME"/> </obj-entity> - <obj-entity name="IvSub1Sub1" superEntityName="IvSub1" className="org.apache.cayenne.testdo.inheritance.vertical.IvSub1Sub1"> + <obj-entity name="IvSub1Sub1" superEntityName="IvSub1" className="org.apache.cayenne.testdo.inheritance_vertical.IvSub1Sub1"> <qualifier><![CDATA[discriminator = "IvSub1Sub1"]]></qualifier> <obj-attribute name="sub1Sub1Name" type="java.lang.String" db-attribute-path="sub1.sub1Sub1.SUB1_SUB1_NAME"/> <attribute-override name="sub1Name" db-attribute-path="sub1.SUB1_NAME"/> </obj-entity> - <obj-entity name="IvSub2" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance.vertical.IvSub2"> + <obj-entity name="IvSub2" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance_vertical.IvSub2"> <qualifier><![CDATA[discriminator = "IvSub2"]]></qualifier> <obj-attribute name="sub2Attr" type="java.lang.String" db-attribute-path="sub2.SUB2_ATTR"/> <obj-attribute name="sub2Name" type="java.lang.String" db-attribute-path="sub2.SUB2_NAME"/> http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/inheritance.map.xml ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/resources/inheritance.map.xml b/cayenne-server/src/test/resources/inheritance.map.xml new file mode 100644 index 0000000..b74a97f --- /dev/null +++ b/cayenne-server/src/test/resources/inheritance.map.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd" + project-version="7"> + <property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance"/> + <db-entity name="BASE_ENTITY"> + <db-attribute name="BASE_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> + <db-attribute name="DIRECT_TO_SUB_ENTITY_ID" type="INTEGER"/> + <db-attribute name="ENTITY_TYPE" type="VARCHAR" length="255"/> + <db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isMandatory="true"/> + </db-entity> + <db-entity name="DIRECT_TO_SUB_ENTITY"> + <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> + </db-entity> + <db-entity name="RELATED_ENTITY"> + <db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> + </db-entity> + <obj-entity name="BaseEntity" className="org.apache.cayenne.testdo.inheritance.BaseEntity" dbEntityName="BASE_ENTITY"> + <obj-attribute name="entityType" type="java.lang.String" db-attribute-path="ENTITY_TYPE"/> + </obj-entity> + <obj-entity name="DirectToSubEntity" className="org.apache.cayenne.testdo.inheritance.DirectToSubEntity" dbEntityName="DIRECT_TO_SUB_ENTITY"> + </obj-entity> + <obj-entity name="RelatedEntity" className="org.apache.cayenne.testdo.inheritance.RelatedEntity" dbEntityName="RELATED_ENTITY"> + </obj-entity> + <obj-entity name="SubEntity" superEntityName="BaseEntity" className="org.apache.cayenne.testdo.inheritance.SubEntity"> + <qualifier><![CDATA[entityType = "sub"]]></qualifier> + </obj-entity> + <db-relationship name="directToSubEntities" source="BASE_ENTITY" target="DIRECT_TO_SUB_ENTITY" toMany="false"> + <db-attribute-pair source="DIRECT_TO_SUB_ENTITY_ID" target="ID"/> + </db-relationship> + <db-relationship name="relatedEntities" source="BASE_ENTITY" target="RELATED_ENTITY" toMany="false"> + <db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/> + </db-relationship> + <db-relationship name="subEntity" source="DIRECT_TO_SUB_ENTITY" target="BASE_ENTITY" toMany="true"> + <db-attribute-pair source="ID" target="DIRECT_TO_SUB_ENTITY_ID"/> + </db-relationship> + <db-relationship name="entities" source="RELATED_ENTITY" target="BASE_ENTITY" toMany="true"> + <db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/> + </db-relationship> + <obj-relationship name="toDirectToSubEntity" source="BaseEntity" target="DirectToSubEntity" deleteRule="Nullify" db-relationship-path="directToSubEntities"/> + <obj-relationship name="toRelatedEntity" source="BaseEntity" target="RelatedEntity" deleteRule="Nullify" db-relationship-path="relatedEntities"/> + <obj-relationship name="subEntities" source="DirectToSubEntity" target="SubEntity" db-relationship-path="subEntity"/> + <obj-relationship name="baseEntities" source="RelatedEntity" target="BaseEntity" db-relationship-path="entities"/> + <obj-relationship name="subEntities" source="RelatedEntity" target="SubEntity" db-relationship-path="entities"/> +</data-map> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/people.map.xml ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/resources/people.map.xml b/cayenne-server/src/test/resources/people.map.xml index 8af0258..861eb9f 100644 --- a/cayenne-server/src/test/resources/people.map.xml +++ b/cayenne-server/src/test/resources/people.map.xml @@ -3,18 +3,12 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd" project-version="7"> - <property name="defaultPackage" value="org.apache.cayenne.testdo.inherit"/> + <property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance_people"/> <db-entity name="ADDRESS"> <db-attribute name="ADDRESS_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> <db-attribute name="CITY" type="VARCHAR" length="100"/> <db-attribute name="PERSON_ID" type="INTEGER" isMandatory="true"/> </db-entity> - <db-entity name="BASE_ENTITY"> - <db-attribute name="BASE_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> - <db-attribute name="DIRECT_TO_SUB_ENTITY_ID" type="INTEGER"/> - <db-attribute name="ENTITY_TYPE" type="VARCHAR" length="255"/> - <db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isMandatory="true"/> - </db-entity> <db-entity name="CLIENT_COMPANY"> <db-attribute name="CLIENT_COMPANY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> <db-attribute name="NAME" type="VARCHAR" length="100"/> @@ -24,9 +18,6 @@ <db-attribute name="MANAGER_ID" type="INTEGER"/> <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/> </db-entity> - <db-entity name="DIRECT_TO_SUB_ENTITY"> - <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> - </db-entity> <db-entity name="PERSON"> <db-attribute name="CLIENT_COMPANY_ID" type="INTEGER"/> <db-attribute name="CLIENT_CONTACT_TYPE" type="VARCHAR" length="50"/> @@ -41,57 +32,38 @@ <db-attribute name="NOTES" type="VARCHAR" length="255"/> <db-attribute name="PERSON_ID" type="INTEGER"/> </db-entity> - <db-entity name="RELATED_ENTITY"> - <db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> - </db-entity> - <obj-entity name="AbstractPerson" abstract="true" className="org.apache.cayenne.testdo.inherit.AbstractPerson" dbEntityName="PERSON"> + <obj-entity name="AbstractPerson" abstract="true" className="org.apache.cayenne.testdo.inheritance_people.AbstractPerson" dbEntityName="PERSON"> <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/> <obj-attribute name="personType" type="java.lang.String" db-attribute-path="PERSON_TYPE"/> </obj-entity> - <obj-entity name="Address" className="org.apache.cayenne.testdo.inherit.Address" dbEntityName="ADDRESS"> + <obj-entity name="Address" className="org.apache.cayenne.testdo.inheritance_people.Address" dbEntityName="ADDRESS"> <obj-attribute name="city" type="java.lang.String" db-attribute-path="CITY"/> </obj-entity> - <obj-entity name="BaseEntity" className="org.apache.cayenne.testdo.inherit.BaseEntity" dbEntityName="BASE_ENTITY"> - <obj-attribute name="entityType" type="java.lang.String" db-attribute-path="ENTITY_TYPE"/> - </obj-entity> - <obj-entity name="ClientCompany" className="org.apache.cayenne.testdo.inherit.ClientCompany" dbEntityName="CLIENT_COMPANY"> + <obj-entity name="ClientCompany" className="org.apache.cayenne.testdo.inheritance_people.ClientCompany" dbEntityName="CLIENT_COMPANY"> <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/> </obj-entity> - <obj-entity name="CustomerRepresentative" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inherit.CustomerRepresentative"> + <obj-entity name="CustomerRepresentative" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative"> <qualifier><![CDATA[personType = "C"]]></qualifier> <obj-attribute name="clientContactType" type="java.lang.String" db-attribute-path="CLIENT_CONTACT_TYPE"/> </obj-entity> - <obj-entity name="Department" className="org.apache.cayenne.testdo.inherit.Department" dbEntityName="DEPARTMENT"> + <obj-entity name="Department" className="org.apache.cayenne.testdo.inheritance_people.Department" dbEntityName="DEPARTMENT"> <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/> </obj-entity> - <obj-entity name="DirectToSubEntity" className="org.apache.cayenne.testdo.inherit.DirectToSubEntity" dbEntityName="DIRECT_TO_SUB_ENTITY"> - </obj-entity> - <obj-entity name="Employee" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inherit.Employee"> + <obj-entity name="Employee" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inheritance_people.Employee"> <qualifier><![CDATA[personType = "EE"]]></qualifier> <obj-attribute name="salary" type="java.lang.Float" db-attribute-path="SALARY"/> <attribute-override name="name" db-attribute-path="NAME"/> <attribute-override name="personType" db-attribute-path="PERSON_TYPE"/> </obj-entity> - <obj-entity name="Manager" superEntityName="Employee" className="org.apache.cayenne.testdo.inherit.Manager"> + <obj-entity name="Manager" superEntityName="Employee" className="org.apache.cayenne.testdo.inheritance_people.Manager"> <qualifier><![CDATA[personType = "EM"]]></qualifier> </obj-entity> - <obj-entity name="PersonNotes" className="org.apache.cayenne.testdo.inherit.PersonNotes" dbEntityName="PERSON_NOTES"> + <obj-entity name="PersonNotes" className="org.apache.cayenne.testdo.inheritance_people.PersonNotes" dbEntityName="PERSON_NOTES"> <obj-attribute name="notes" type="java.lang.String" db-attribute-path="NOTES"/> </obj-entity> - <obj-entity name="RelatedEntity" className="org.apache.cayenne.testdo.inherit.RelatedEntity" dbEntityName="RELATED_ENTITY"> - </obj-entity> - <obj-entity name="SubEntity" superEntityName="BaseEntity" className="org.apache.cayenne.testdo.inherit.SubEntity"> - <qualifier><![CDATA[entityType = "sub"]]></qualifier> - </obj-entity> <db-relationship name="toPerson" source="ADDRESS" target="PERSON" toMany="false"> <db-attribute-pair source="PERSON_ID" target="PERSON_ID"/> </db-relationship> - <db-relationship name="directToSubEntities" source="BASE_ENTITY" target="DIRECT_TO_SUB_ENTITY" toMany="false"> - <db-attribute-pair source="DIRECT_TO_SUB_ENTITY_ID" target="ID"/> - </db-relationship> - <db-relationship name="relatedEntities" source="BASE_ENTITY" target="RELATED_ENTITY" toMany="false"> - <db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/> - </db-relationship> <db-relationship name="representatives" source="CLIENT_COMPANY" target="PERSON" toMany="true"> <db-attribute-pair source="CLIENT_COMPANY_ID" target="CLIENT_COMPANY_ID"/> </db-relationship> @@ -101,9 +73,6 @@ <db-relationship name="toManager" source="DEPARTMENT" target="PERSON" toMany="false"> <db-attribute-pair source="MANAGER_ID" target="PERSON_ID"/> </db-relationship> - <db-relationship name="subEntity" source="DIRECT_TO_SUB_ENTITY" target="BASE_ENTITY" toMany="true"> - <db-attribute-pair source="ID" target="DIRECT_TO_SUB_ENTITY_ID"/> - </db-relationship> <db-relationship name="employeeAddresses" source="PERSON" target="ADDRESS" toMany="true"> <db-attribute-pair source="PERSON_ID" target="PERSON_ID"/> </db-relationship> @@ -122,22 +91,14 @@ <db-relationship name="person" source="PERSON_NOTES" target="PERSON" toMany="false"> <db-attribute-pair source="PERSON_ID" target="PERSON_ID"/> </db-relationship> - <db-relationship name="entities" source="RELATED_ENTITY" target="BASE_ENTITY" toMany="true"> - <db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/> - </db-relationship> <obj-relationship name="notes" source="AbstractPerson" target="PersonNotes" deleteRule="Nullify" db-relationship-path="notes"/> <obj-relationship name="toEmployee" source="Address" target="Employee" db-relationship-path="toPerson"/> - <obj-relationship name="toDirectToSubEntity" source="BaseEntity" target="DirectToSubEntity" deleteRule="Nullify" db-relationship-path="directToSubEntities"/> - <obj-relationship name="toRelatedEntity" source="BaseEntity" target="RelatedEntity" deleteRule="Nullify" db-relationship-path="relatedEntities"/> <obj-relationship name="representatives" source="ClientCompany" target="CustomerRepresentative" db-relationship-path="representatives"/> <obj-relationship name="toClientCompany" source="CustomerRepresentative" target="ClientCompany" db-relationship-path="toClientCompany"/> <obj-relationship name="employees" source="Department" target="Employee" db-relationship-path="employees"/> <obj-relationship name="toManager" source="Department" target="Manager" db-relationship-path="toManager"/> - <obj-relationship name="subEntities" source="DirectToSubEntity" target="SubEntity" db-relationship-path="subEntity"/> <obj-relationship name="addresses" source="Employee" target="Address" db-relationship-path="employeeAddresses"/> <obj-relationship name="toDepartment" source="Employee" target="Department" db-relationship-path="toDepartment"/> <obj-relationship name="managedDepartments" source="Manager" target="Department" db-relationship-path="managedDepartments"/> <obj-relationship name="person" source="PersonNotes" target="AbstractPerson" deleteRule="Nullify" db-relationship-path="person"/> - <obj-relationship name="baseEntities" source="RelatedEntity" target="BaseEntity" db-relationship-path="entities"/> - <obj-relationship name="subEntities" source="RelatedEntity" target="SubEntity" db-relationship-path="entities"/> </data-map>