You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by km...@apache.org on 2008/03/28 03:35:30 UTC
svn commit: r642071 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test:
java/org/apache/cayenne/access/ java/org/apache/cayenne/testdo/inherit/
java/org/apache/cayenne/testdo/inherit/auto/ resources/
Author: kmenard
Date: Thu Mar 27 19:35:28 2008
New Revision: 642071
URL: http://svn.apache.org/viewvc?rev=642071&view=rev
Log:
Cleaned up the inheritance tests.
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java
Removed:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/AbstractAddress.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/HomeAddress.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractAddress.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_HomeAddress.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/people.map.xml
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/InheritanceTest.java Thu Mar 27 19:35:28 2008
@@ -21,10 +21,8 @@
import java.util.Iterator;
import java.util.List;
-import java.util.ArrayList;
import org.apache.cayenne.DataObjectUtils;
-import org.apache.cayenne.map.ObjRelationship;
import org.apache.cayenne.query.SelectQuery;
import org.apache.cayenne.testdo.inherit.AbstractPerson;
import org.apache.cayenne.testdo.inherit.Address;
@@ -33,7 +31,10 @@
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.inherit.HomeAddress;
+import org.apache.cayenne.testdo.inherit.RelatedEntity;
+import org.apache.cayenne.testdo.inherit.BaseEntity;
+import org.apache.cayenne.testdo.inherit.SubEntity;
+import org.apache.cayenne.testdo.inherit.DirectToSubEntity;
import org.apache.cayenne.unit.PeopleCase;
/**
@@ -183,19 +184,19 @@
* Test for CAY-1008: Reverse relationships may not be correctly set if inheritance is used.
*/
public void testCAY1008() {
- Employee e = context.newObject(Employee.class);
+ RelatedEntity related = context.newObject(RelatedEntity.class);
- Address a = context.newObject(Address.class);
- a.setToEmployee(e);
+ BaseEntity base = context.newObject(BaseEntity.class);
+ base.setToRelatedEntity(related);
- assertEquals(1, e.getAddresses().size());
- assertEquals(0, e.getHomeAddresses().size());
+ assertEquals(1, related.getBaseEntities().size());
+ assertEquals(0, related.getSubEntities().size());
- HomeAddress ha = context.newObject(HomeAddress.class);
- ha.setToEmployee(e);
+ SubEntity sub = context.newObject(SubEntity.class);
+ sub.setToRelatedEntity(related);
- assertEquals(2, e.getAddresses().size());
- assertEquals(1, e.getHomeAddresses().size());
+ assertEquals(2, related.getBaseEntities().size());
+ assertEquals(1, related.getSubEntities().size());
}
/**
@@ -203,27 +204,27 @@
*/
public void testCAY1009() {
- // We should have only one relationship. ClientCompany -> CustomerRepresentative.
- assertEquals(1, context.getEntityResolver().getObjEntity("ClientCompany").getRelationships().size());
+ // We should have only one relationship. DirectToSubEntity -> SubEntity.
+ assertEquals(1, context.getEntityResolver().getObjEntity("DirectToSubEntity")
+ .getRelationships().size());
// Simulate a load from a default configuration.
context.getEntityResolver().applyObjectLayerDefaults();
// We should still just have the one mapped relationship, but we in fact now have two:
- // ClientCompany -> AbstractPerson and ClientCompany -> CustomerRepresentative.
- assertEquals(1, context.getEntityResolver().getObjEntity("ClientCompany").getRelationships().size());
+ // DirectToSubEntity -> BaseEntity and DirectToSubEntity -> SubEntity.
+ assertEquals(1, context.getEntityResolver().getObjEntity("DirectToSubEntity")
+ .getRelationships().size());
- ClientCompany company = context.newObject(ClientCompany.class);
- company.setName("Company");
+ DirectToSubEntity direct = context.newObject(DirectToSubEntity.class);
- CustomerRepresentative rep = context.newObject(CustomerRepresentative.class);
- rep.setName("Rep");
- rep.setToClientCompany(company);
+ SubEntity sub = context.newObject(SubEntity.class);
+ sub.setToDirectToSubEntity(direct);
- assertEquals(1, company.getRepresentatives().size());
+ assertEquals(1, direct.getSubEntities().size());
- context.deleteObject(rep);
- assertEquals(0, company.getRepresentatives().size());
+ context.deleteObject(sub);
+ assertEquals(0, direct.getSubEntities().size());
}
/**
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,25 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.testdo.inherit;
+
+import org.apache.cayenne.testdo.inherit.auto._BaseEntity;
+
+public class BaseEntity extends _BaseEntity {
+
+}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,25 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.testdo.inherit;
+
+import org.apache.cayenne.testdo.inherit.auto._DirectToSubEntity;
+
+public class DirectToSubEntity extends _DirectToSubEntity {
+
+}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,25 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.testdo.inherit;
+
+import org.apache.cayenne.testdo.inherit.auto._RelatedEntity;
+
+public class RelatedEntity extends _RelatedEntity {
+
+}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,25 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.testdo.inherit;
+
+import org.apache.cayenne.testdo.inherit.auto._SubEntity;
+
+public class SubEntity extends _SubEntity {
+
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java Thu Mar 27 19:35:28 2008
@@ -1,11 +1,14 @@
package org.apache.cayenne.testdo.inherit.auto;
-/** Class _AbstractPerson 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 class _AbstractPerson extends org.apache.cayenne.CayenneDataObject {
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _AbstractPerson 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 _AbstractPerson extends CayenneDataObject {
public static final String NAME_PROPERTY = "name";
public static final String PERSON_TYPE_PROPERTY = "personType";
@@ -18,14 +21,12 @@
public String getName() {
return (String)readProperty("name");
}
-
-
+
public void setPersonType(String personType) {
writeProperty("personType", personType);
}
public String getPersonType() {
return (String)readProperty("personType");
}
-
-
+
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java Thu Mar 27 19:35:28 2008
@@ -11,18 +11,10 @@
*/
public abstract class _Address extends CayenneDataObject {
- public static final String ADDRESS_TYPE_PROPERTY = "addressType";
public static final String CITY_PROPERTY = "city";
public static final String TO_EMPLOYEE_PROPERTY = "toEmployee";
public static final String ADDRESS_ID_PK_COLUMN = "ADDRESS_ID";
-
- public void setAddressType(String addressType) {
- writeProperty("addressType", addressType);
- }
- public String getAddressType() {
- return (String)readProperty("addressType");
- }
public void setCity(String city) {
writeProperty("city", city);
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,46 @@
+package org.apache.cayenne.testdo.inherit.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inherit.DirectToSubEntity;
+import org.apache.cayenne.testdo.inherit.RelatedEntity;
+
+/**
+ * Class _BaseEntity 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 _BaseEntity extends CayenneDataObject {
+
+ public static final String ENTITY_TYPE_PROPERTY = "entityType";
+ public static final String TO_DIRECT_TO_SUB_ENTITY_PROPERTY = "toDirectToSubEntity";
+ public static final String TO_RELATED_ENTITY_PROPERTY = "toRelatedEntity";
+
+ public static final String BASE_ENTITY_ID_PK_COLUMN = "BASE_ENTITY_ID";
+
+ public void setEntityType(String entityType) {
+ writeProperty("entityType", entityType);
+ }
+ public String getEntityType() {
+ return (String)readProperty("entityType");
+ }
+
+ public void setToDirectToSubEntity(DirectToSubEntity toDirectToSubEntity) {
+ setToOneTarget("toDirectToSubEntity", toDirectToSubEntity, true);
+ }
+
+ public DirectToSubEntity getToDirectToSubEntity() {
+ return (DirectToSubEntity)readProperty("toDirectToSubEntity");
+ }
+
+
+ public void setToRelatedEntity(RelatedEntity toRelatedEntity) {
+ setToOneTarget("toRelatedEntity", toRelatedEntity, true);
+ }
+
+ public RelatedEntity getToRelatedEntity() {
+ return (RelatedEntity)readProperty("toRelatedEntity");
+ }
+
+
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java Thu Mar 27 19:35:28 2008
@@ -2,12 +2,16 @@
import java.util.List;
-/** Class _ClientCompany 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 class _ClientCompany extends org.apache.cayenne.CayenneDataObject {
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inherit.CustomerRepresentative;
+
+/**
+ * Class _ClientCompany 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 _ClientCompany extends CayenneDataObject {
public static final String NAME_PROPERTY = "name";
public static final String REPRESENTATIVES_PROPERTY = "representatives";
@@ -20,17 +24,17 @@
public String getName() {
return (String)readProperty("name");
}
-
-
- public void addToRepresentatives(org.apache.cayenne.testdo.inherit.CustomerRepresentative obj) {
+
+ public void addToRepresentatives(CustomerRepresentative obj) {
addToManyTarget("representatives", obj, true);
}
- public void removeFromRepresentatives(org.apache.cayenne.testdo.inherit.CustomerRepresentative obj) {
+ public void removeFromRepresentatives(CustomerRepresentative obj) {
removeToManyTarget("representatives", obj, true);
}
- public List getRepresentatives() {
- return (List)readProperty("representatives");
+ @SuppressWarnings("unchecked")
+ public List<CustomerRepresentative> getRepresentatives() {
+ return (List<CustomerRepresentative>)readProperty("representatives");
}
-
-
+
+
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java Thu Mar 27 19:35:28 2008
@@ -1,11 +1,15 @@
package org.apache.cayenne.testdo.inherit.auto;
-/** Class _CustomerRepresentative 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 class _CustomerRepresentative extends org.apache.cayenne.testdo.inherit.AbstractPerson {
+import org.apache.cayenne.testdo.inherit.AbstractPerson;
+import org.apache.cayenne.testdo.inherit.ClientCompany;
+
+/**
+ * Class _CustomerRepresentative 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 _CustomerRepresentative extends AbstractPerson {
public static final String CLIENT_CONTACT_TYPE_PROPERTY = "clientContactType";
public static final String TO_CLIENT_COMPANY_PROPERTY = "toClientCompany";
@@ -18,15 +22,14 @@
public String getClientContactType() {
return (String)readProperty("clientContactType");
}
-
-
- public void setToClientCompany(org.apache.cayenne.testdo.inherit.ClientCompany toClientCompany) {
+
+ public void setToClientCompany(ClientCompany toClientCompany) {
setToOneTarget("toClientCompany", toClientCompany, true);
}
- public org.apache.cayenne.testdo.inherit.ClientCompany getToClientCompany() {
- return (org.apache.cayenne.testdo.inherit.ClientCompany)readProperty("toClientCompany");
- }
-
-
+ public ClientCompany getToClientCompany() {
+ return (ClientCompany)readProperty("toClientCompany");
+ }
+
+
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java Thu Mar 27 19:35:28 2008
@@ -2,12 +2,17 @@
import java.util.List;
-/** Class _Department 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 class _Department extends org.apache.cayenne.CayenneDataObject {
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inherit.Employee;
+import org.apache.cayenne.testdo.inherit.Manager;
+
+/**
+ * Class _Department 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 _Department extends CayenneDataObject {
public static final String NAME_PROPERTY = "name";
public static final String EMPLOYEES_PROPERTY = "employees";
@@ -21,26 +26,26 @@
public String getName() {
return (String)readProperty("name");
}
-
-
- public void addToEmployees(org.apache.cayenne.testdo.inherit.Employee obj) {
+
+ public void addToEmployees(Employee obj) {
addToManyTarget("employees", obj, true);
}
- public void removeFromEmployees(org.apache.cayenne.testdo.inherit.Employee obj) {
+ public void removeFromEmployees(Employee obj) {
removeToManyTarget("employees", obj, true);
}
- public List getEmployees() {
- return (List)readProperty("employees");
+ @SuppressWarnings("unchecked")
+ public List<Employee> getEmployees() {
+ return (List<Employee>)readProperty("employees");
}
-
-
- public void setToManager(org.apache.cayenne.testdo.inherit.Manager toManager) {
+
+
+ public void setToManager(Manager toManager) {
setToOneTarget("toManager", toManager, true);
}
- public org.apache.cayenne.testdo.inherit.Manager getToManager() {
- return (org.apache.cayenne.testdo.inherit.Manager)readProperty("toManager");
- }
-
-
+ public Manager getToManager() {
+ return (Manager)readProperty("toManager");
+ }
+
+
}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inherit.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inherit.SubEntity;
+
+/**
+ * Class _DirectToSubEntity 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 _DirectToSubEntity extends CayenneDataObject {
+
+ public static final String SUB_ENTITIES_PROPERTY = "subEntities";
+
+ public static final String ID_PK_COLUMN = "ID";
+
+ public void addToSubEntities(SubEntity obj) {
+ addToManyTarget("subEntities", obj, true);
+ }
+ public void removeFromSubEntities(SubEntity obj) {
+ removeToManyTarget("subEntities", obj, true);
+ }
+ @SuppressWarnings("unchecked")
+ public List<SubEntity> getSubEntities() {
+ return (List<SubEntity>)readProperty("subEntities");
+ }
+
+
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java Thu Mar 27 19:35:28 2008
@@ -5,7 +5,6 @@
import org.apache.cayenne.testdo.inherit.AbstractPerson;
import org.apache.cayenne.testdo.inherit.Address;
import org.apache.cayenne.testdo.inherit.Department;
-import org.apache.cayenne.testdo.inherit.HomeAddress;
/**
* Class _Employee was generated by Cayenne.
@@ -17,7 +16,6 @@
public static final String SALARY_PROPERTY = "salary";
public static final String ADDRESSES_PROPERTY = "addresses";
- public static final String HOME_ADDRESSES_PROPERTY = "homeAddresses";
public static final String TO_DEPARTMENT_PROPERTY = "toDepartment";
public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
@@ -38,18 +36,6 @@
@SuppressWarnings("unchecked")
public List<Address> getAddresses() {
return (List<Address>)readProperty("addresses");
- }
-
-
- public void addToHomeAddresses(HomeAddress obj) {
- addToManyTarget("homeAddresses", obj, true);
- }
- public void removeFromHomeAddresses(HomeAddress obj) {
- removeToManyTarget("homeAddresses", obj, true);
- }
- @SuppressWarnings("unchecked")
- public List<HomeAddress> getHomeAddresses() {
- return (List<HomeAddress>)readProperty("homeAddresses");
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java Thu Mar 27 19:35:28 2008
@@ -2,26 +2,31 @@
import java.util.List;
-/** Class _Manager 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 class _Manager extends org.apache.cayenne.testdo.inherit.Employee {
+import org.apache.cayenne.testdo.inherit.Department;
+import org.apache.cayenne.testdo.inherit.Employee;
+
+/**
+ * Class _Manager 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 _Manager extends Employee {
public static final String MANAGED_DEPARTMENTS_PROPERTY = "managedDepartments";
public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
- public void addToManagedDepartments(org.apache.cayenne.testdo.inherit.Department obj) {
+ public void addToManagedDepartments(Department obj) {
addToManyTarget("managedDepartments", obj, true);
}
- public void removeFromManagedDepartments(org.apache.cayenne.testdo.inherit.Department obj) {
+ public void removeFromManagedDepartments(Department obj) {
removeToManyTarget("managedDepartments", obj, true);
}
- public List getManagedDepartments() {
- return (List)readProperty("managedDepartments");
+ @SuppressWarnings("unchecked")
+ public List<Department> getManagedDepartments() {
+ return (List<Department>)readProperty("managedDepartments");
}
-
-
+
+
}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,46 @@
+package org.apache.cayenne.testdo.inherit.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inherit.BaseEntity;
+import org.apache.cayenne.testdo.inherit.SubEntity;
+
+/**
+ * Class _RelatedEntity 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 _RelatedEntity extends CayenneDataObject {
+
+ public static final String BASE_ENTITIES_PROPERTY = "baseEntities";
+ public static final String SUB_ENTITIES_PROPERTY = "subEntities";
+
+ public static final String RELATED_ENTITY_ID_PK_COLUMN = "RELATED_ENTITY_ID";
+
+ public void addToBaseEntities(BaseEntity obj) {
+ addToManyTarget("baseEntities", obj, true);
+ }
+ public void removeFromBaseEntities(BaseEntity obj) {
+ removeToManyTarget("baseEntities", obj, true);
+ }
+ @SuppressWarnings("unchecked")
+ public List<BaseEntity> getBaseEntities() {
+ return (List<BaseEntity>)readProperty("baseEntities");
+ }
+
+
+ public void addToSubEntities(SubEntity obj) {
+ addToManyTarget("subEntities", obj, true);
+ }
+ public void removeFromSubEntities(SubEntity obj) {
+ removeToManyTarget("subEntities", obj, true);
+ }
+ @SuppressWarnings("unchecked")
+ public List<SubEntity> getSubEntities() {
+ return (List<SubEntity>)readProperty("subEntities");
+ }
+
+
+}
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java?rev=642071&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java Thu Mar 27 19:35:28 2008
@@ -0,0 +1,16 @@
+package org.apache.cayenne.testdo.inherit.auto;
+
+import org.apache.cayenne.testdo.inherit.BaseEntity;
+
+/**
+ * Class _SubEntity 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 _SubEntity extends BaseEntity {
+
+
+ public static final String BASE_ENTITY_ID_PK_COLUMN = "BASE_ENTITY_ID";
+
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/people.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/people.map.xml?rev=642071&r1=642070&r2=642071&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/people.map.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/people.map.xml Thu Mar 27 19:35:28 2008
@@ -3,10 +3,15 @@
<property name="defaultPackage" value="org.apache.cayenne.testdo.inherit"/>
<db-entity name="ADDRESS">
<db-attribute name="ADDRESS_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
- <db-attribute name="ADDRESS_TYPE" type="VARCHAR" length="2"/>
<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"/>
@@ -16,6 +21,9 @@
<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"/>
@@ -25,16 +33,19 @@
<db-attribute name="PERSON_TYPE" type="CHAR" isMandatory="true" length="2"/>
<db-attribute name="SALARY" type="FLOAT"/>
</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" className="org.apache.cayenne.testdo.inherit.AbstractPerson" dbEntityName="PERSON">
- <obj-attribute name="clientContactType" type="java.lang.String" db-attribute-path="CLIENT_CONTACT_TYPE"/>
<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-attribute name="salary" type="java.lang.Float" db-attribute-path="SALARY"/>
</obj-entity>
<obj-entity name="Address" className="org.apache.cayenne.testdo.inherit.Address" dbEntityName="ADDRESS">
- <obj-attribute name="addressType" type="java.lang.String" db-attribute-path="ADDRESS_TYPE"/>
<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-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
</obj-entity>
@@ -45,18 +56,29 @@
<obj-entity name="Department" className="org.apache.cayenne.testdo.inherit.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">
<qualifier><![CDATA[personType = "EE"]]></qualifier>
<obj-attribute name="salary" type="java.lang.Float" db-attribute-path="SALARY"/>
</obj-entity>
- <obj-entity name="HomeAddress" superEntityName="Address" className="org.apache.cayenne.testdo.inherit.HomeAddress">
- </obj-entity>
<obj-entity name="Manager" superEntityName="Employee" className="org.apache.cayenne.testdo.inherit.Manager">
<qualifier><![CDATA[personType = "EM"]]></qualifier>
</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>
@@ -66,6 +88,9 @@
<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>
@@ -78,14 +103,20 @@
<db-relationship name="toDepartment" source="PERSON" target="DEPARTMENT" toMany="false">
<db-attribute-pair source="DEPARTMENT_ID" target="DEPARTMENT_ID"/>
</db-relationship>
- <obj-relationship name="toClientCompany" source="AbstractPerson" target="ClientCompany" deleteRule="Nullify" db-relationship-path="toClientCompany"/>
+ <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="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" deleteRule="Nullify" db-relationship-path="toClientCompany"/>
+ <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="homeAddresses" source="Employee" target="HomeAddress" 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="baseEntities" source="RelatedEntity" target="BaseEntity" db-relationship-path="entities"/>
+ <obj-relationship name="subEntities" source="RelatedEntity" target="SubEntity" db-relationship-path="entities"/>
</data-map>