http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java
deleted file mode 100644
index 54e70b2..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv1Root;
-
-public class Iv1Root extends _Iv1Root {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java
deleted file mode 100644
index e208c7a..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv1Sub1;
-
-public class Iv1Sub1 extends _Iv1Sub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java
deleted file mode 100644
index d08b329..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv2Root;
-
-public class Iv2Root extends _Iv2Root {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java
deleted file mode 100644
index 93a2a96..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv2Sub1;
-
-public class Iv2Sub1 extends _Iv2Sub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java
deleted file mode 100644
index 0fb8697..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv2X;
-
-public class Iv2X extends _Iv2X {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java
deleted file mode 100644
index a12a476..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvRoot;
-
-public class IvRoot extends _IvRoot {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java
deleted file mode 100644
index 6dd4c59..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvSub1;
-
-public class IvSub1 extends _IvSub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java
deleted file mode 100644
index 4571c10..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvSub1Sub1;
-
-public class IvSub1Sub1 extends _IvSub1Sub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java
deleted file mode 100644
index 7b95092..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************
- *   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.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvSub2;
-
-public class IvSub2 extends _IvSub2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java
deleted file mode 100644
index d3a806c..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-
-
-/**
- * This class 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 _InheritanceVertical {
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java
deleted file mode 100644
index c52760a..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _Iv1Root 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 _Iv1Root extends CayenneDataObject {
-
-    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDiscriminator(String discriminator) {
-        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
-    }
-    public String getDiscriminator() {
-        return (String)readProperty(DISCRIMINATOR_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java
deleted file mode 100644
index 2afda29..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.testdo.inheritance.vertical.Iv1Root;
-
-/**
- * Class _Iv1Sub1 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 _Iv1Sub1 extends Iv1Root {
-
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java
deleted file mode 100644
index c4dbb12..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _Iv2Root 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 _Iv2Root extends CayenneDataObject {
-
-    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDiscriminator(String discriminator) {
-        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
-    }
-    public String getDiscriminator() {
-        return (String)readProperty(DISCRIMINATOR_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java
deleted file mode 100644
index 2967334..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.testdo.inheritance.vertical.Iv2Root;
-import org.apache.cayenne.testdo.inheritance.vertical.Iv2X;
-
-/**
- * Class _Iv2Sub1 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 _Iv2Sub1 extends Iv2Root {
-
-    public static final String X_PROPERTY = "x";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setX(Iv2X x) {
-        setToOneTarget(X_PROPERTY, x, true);
-    }
-
-    public Iv2X getX() {
-        return (Iv2X)readProperty(X_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java
deleted file mode 100644
index 8e228b4..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _Iv2X 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 _Iv2X extends CayenneDataObject {
-
-
-    public static final String ID_PK_COLUMN = "ID";
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java
deleted file mode 100644
index 872b68e..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _IvRoot 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 _IvRoot extends CayenneDataObject {
-
-    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDiscriminator(String discriminator) {
-        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
-    }
-    public String getDiscriminator() {
-        return (String)readProperty(DISCRIMINATOR_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

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
deleted file mode 100644
index ea5e172..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-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
deleted file mode 100644
index a9e8af6..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1Sub1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-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
deleted file mode 100644
index ba5541d..0000000
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub2.java
+++ /dev/null
@@ -1,32 +0,0 @@
-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/testdo/inheritance_people/AbstractPerson.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/AbstractPerson.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/AbstractPerson.java
new file mode 100644
index 0000000..dde4d35
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/AbstractPerson.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+public abstract class AbstractPerson extends 
org.apache.cayenne.testdo.inheritance_people.auto._AbstractPerson {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java
new file mode 100644
index 0000000..4a91926
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+public class Address extends 
org.apache.cayenne.testdo.inheritance_people.auto._Address {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java
new file mode 100644
index 0000000..9892764
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+public class ClientCompany extends 
org.apache.cayenne.testdo.inheritance_people.auto._ClientCompany {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java
new file mode 100644
index 0000000..eaf68bb
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+public class CustomerRepresentative extends 
org.apache.cayenne.testdo.inheritance_people.auto._CustomerRepresentative {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java
new file mode 100644
index 0000000..ada1010
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+public class Department extends 
org.apache.cayenne.testdo.inheritance_people.auto._Department {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java
new file mode 100644
index 0000000..05f61cc
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+public class Employee extends 
org.apache.cayenne.testdo.inheritance_people.auto._Employee {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java
new file mode 100644
index 0000000..4b63c57
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+public class Manager extends 
org.apache.cayenne.testdo.inheritance_people.auto._Manager {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java
new file mode 100644
index 0000000..f63c423
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java
@@ -0,0 +1,36 @@
+/*****************************************************************
+ *   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.inheritance_people;
+
+import org.apache.cayenne.testdo.inheritance_people.auto._People;
+
+public class People extends _People {
+
+    private static People instance;
+
+    private People() {}
+
+    public static People getInstance() {
+        if(instance == null) {
+            instance = new People();
+        }
+
+        return instance;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java
new file mode 100644
index 0000000..66e8191
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java
@@ -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.inheritance_people;
+
+import org.apache.cayenne.testdo.inheritance_people.auto._PersonNotes;
+
+public class PersonNotes extends _PersonNotes {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
new file mode 100644
index 0000000..6dd1f1b
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.PersonNotes;
+
+/**
+ * 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";
+    public static final String NOTES_PROPERTY = "notes";
+
+    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setPersonType(String personType) {
+        writeProperty(PERSON_TYPE_PROPERTY, personType);
+    }
+    public String getPersonType() {
+        return (String)readProperty(PERSON_TYPE_PROPERTY);
+    }
+
+    public void addToNotes(PersonNotes obj) {
+        addToManyTarget(NOTES_PROPERTY, obj, true);
+    }
+    public void removeFromNotes(PersonNotes obj) {
+        removeToManyTarget(NOTES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<PersonNotes> getNotes() {
+        return (List<PersonNotes>)readProperty(NOTES_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
new file mode 100644
index 0000000..f7856da
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+
+/**
+ * Class _Address 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 _Address extends CayenneDataObject {
+
+    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 setCity(String city) {
+        writeProperty(CITY_PROPERTY, city);
+    }
+    public String getCity() {
+        return (String)readProperty(CITY_PROPERTY);
+    }
+
+    public void setToEmployee(Employee toEmployee) {
+        setToOneTarget(TO_EMPLOYEE_PROPERTY, toEmployee, true);
+    }
+
+    public Employee getToEmployee() {
+        return (Employee)readProperty(TO_EMPLOYEE_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
new file mode 100644
index 0000000..ae9a6be
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
@@ -0,0 +1,40 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.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";
+
+    public static final String CLIENT_COMPANY_ID_PK_COLUMN = 
"CLIENT_COMPANY_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToRepresentatives(CustomerRepresentative obj) {
+        addToManyTarget(REPRESENTATIVES_PROPERTY, obj, true);
+    }
+    public void removeFromRepresentatives(CustomerRepresentative obj) {
+        removeToManyTarget(REPRESENTATIVES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<CustomerRepresentative> getRepresentatives() {
+        return 
(List<CustomerRepresentative>)readProperty(REPRESENTATIVES_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
new file mode 100644
index 0000000..e7c17a9
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+import org.apache.cayenne.testdo.inheritance_people.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";
+
+    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
+
+    public void setClientContactType(String clientContactType) {
+        writeProperty(CLIENT_CONTACT_TYPE_PROPERTY, clientContactType);
+    }
+    public String getClientContactType() {
+        return (String)readProperty(CLIENT_CONTACT_TYPE_PROPERTY);
+    }
+
+    public void setToClientCompany(ClientCompany toClientCompany) {
+        setToOneTarget(TO_CLIENT_COMPANY_PROPERTY, toClientCompany, true);
+    }
+
+    public ClientCompany getToClientCompany() {
+        return (ClientCompany)readProperty(TO_CLIENT_COMPANY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
new file mode 100644
index 0000000..d76ca1c
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
@@ -0,0 +1,51 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+import org.apache.cayenne.testdo.inheritance_people.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";
+    public static final String TO_MANAGER_PROPERTY = "toManager";
+
+    public static final String DEPARTMENT_ID_PK_COLUMN = "DEPARTMENT_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToEmployees(Employee obj) {
+        addToManyTarget(EMPLOYEES_PROPERTY, obj, true);
+    }
+    public void removeFromEmployees(Employee obj) {
+        removeToManyTarget(EMPLOYEES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Employee> getEmployees() {
+        return (List<Employee>)readProperty(EMPLOYEES_PROPERTY);
+    }
+
+
+    public void setToManager(Manager toManager) {
+        setToOneTarget(TO_MANAGER_PROPERTY, toManager, true);
+    }
+
+    public Manager getToManager() {
+        return (Manager)readProperty(TO_MANAGER_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
new file mode 100644
index 0000000..a1533c3
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
@@ -0,0 +1,51 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+import org.apache.cayenne.testdo.inheritance_people.Address;
+import org.apache.cayenne.testdo.inheritance_people.Department;
+
+/**
+ * Class _Employee 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 _Employee extends AbstractPerson {
+
+    public static final String SALARY_PROPERTY = "salary";
+    public static final String ADDRESSES_PROPERTY = "addresses";
+    public static final String TO_DEPARTMENT_PROPERTY = "toDepartment";
+
+    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
+
+    public void setSalary(Float salary) {
+        writeProperty(SALARY_PROPERTY, salary);
+    }
+    public Float getSalary() {
+        return (Float)readProperty(SALARY_PROPERTY);
+    }
+
+    public void addToAddresses(Address obj) {
+        addToManyTarget(ADDRESSES_PROPERTY, obj, true);
+    }
+    public void removeFromAddresses(Address obj) {
+        removeToManyTarget(ADDRESSES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Address> getAddresses() {
+        return (List<Address>)readProperty(ADDRESSES_PROPERTY);
+    }
+
+
+    public void setToDepartment(Department toDepartment) {
+        setToOneTarget(TO_DEPARTMENT_PROPERTY, toDepartment, true);
+    }
+
+    public Department getToDepartment() {
+        return (Department)readProperty(TO_DEPARTMENT_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
new file mode 100644
index 0000000..eaec130
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.testdo.inheritance_people.Department;
+import org.apache.cayenne.testdo.inheritance_people.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(Department obj) {
+        addToManyTarget(MANAGED_DEPARTMENTS_PROPERTY, obj, true);
+    }
+    public void removeFromManagedDepartments(Department obj) {
+        removeToManyTarget(MANAGED_DEPARTMENTS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Department> getManagedDepartments() {
+        return (List<Department>)readProperty(MANAGED_DEPARTMENTS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java
new file mode 100644
index 0000000..21211b7
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java
@@ -0,0 +1,12 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+
+
+/**
+ * This class 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 _People {
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
new file mode 100644
index 0000000..67e6711
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+
+/**
+ * Class _PersonNotes 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 _PersonNotes extends CayenneDataObject {
+
+    public static final String NOTES_PROPERTY = "notes";
+    public static final String PERSON_PROPERTY = "person";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setNotes(String notes) {
+        writeProperty(NOTES_PROPERTY, notes);
+    }
+    public String getNotes() {
+        return (String)readProperty(NOTES_PROPERTY);
+    }
+
+    public void setPerson(AbstractPerson person) {
+        setToOneTarget(PERSON_PROPERTY, person, true);
+    }
+
+    public AbstractPerson getPerson() {
+        return (AbstractPerson)readProperty(PERSON_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java
new file mode 100644
index 0000000..160a84e
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java
@@ -0,0 +1,36 @@
+/*****************************************************************
+ *   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.inheritance_vertical;
+
+import 
org.apache.cayenne.testdo.inheritance_vertical.auto._InheritanceVertical;
+
+public class InheritanceVertical extends _InheritanceVertical {
+
+    private static InheritanceVertical instance;
+
+    private InheritanceVertical() {}
+
+    public static InheritanceVertical getInstance() {
+        if(instance == null) {
+            instance = new InheritanceVertical();
+        }
+
+        return instance;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java
new file mode 100644
index 0000000..8073283
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv1Root;
+
+public class Iv1Root extends _Iv1Root {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java
new file mode 100644
index 0000000..0948627
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv1Sub1;
+
+public class Iv1Sub1 extends _Iv1Sub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java
new file mode 100644
index 0000000..23ce2af
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv2Root;
+
+public class Iv2Root extends _Iv2Root {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java
new file mode 100644
index 0000000..fbea488
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv2Sub1;
+
+public class Iv2Sub1 extends _Iv2Sub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java
new file mode 100644
index 0000000..834924e
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv2X;
+
+public class Iv2X extends _Iv2X {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java
new file mode 100644
index 0000000..d150d4d
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvRoot;
+
+public class IvRoot extends _IvRoot {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java
new file mode 100644
index 0000000..b2b8bd1
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvSub1;
+
+public class IvSub1 extends _IvSub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java
new file mode 100644
index 0000000..5e35a54
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvSub1Sub1;
+
+public class IvSub1Sub1 extends _IvSub1Sub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java
new file mode 100644
index 0000000..19f2309
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java
@@ -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.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvSub2;
+
+public class IvSub2 extends _IvSub2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java
new file mode 100644
index 0000000..884c0a7
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java
@@ -0,0 +1,12 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+
+
+/**
+ * This class 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 _InheritanceVertical {
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
new file mode 100644
index 0000000..9c1a0ae
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _Iv1Root 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 _Iv1Root extends CayenneDataObject {
+
+    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDiscriminator(String discriminator) {
+        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
+    }
+    public String getDiscriminator() {
+        return (String)readProperty(DISCRIMINATOR_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
new file mode 100644
index 0000000..5775ef1
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.testdo.inheritance_vertical.Iv1Root;
+
+/**
+ * Class _Iv1Sub1 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 _Iv1Sub1 extends Iv1Root {
+
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
new file mode 100644
index 0000000..b343c22
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _Iv2Root 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 _Iv2Root extends CayenneDataObject {
+
+    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDiscriminator(String discriminator) {
+        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
+    }
+    public String getDiscriminator() {
+        return (String)readProperty(DISCRIMINATOR_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
new file mode 100644
index 0000000..69f7930
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.testdo.inheritance_vertical.Iv2Root;
+import org.apache.cayenne.testdo.inheritance_vertical.Iv2X;
+
+/**
+ * Class _Iv2Sub1 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 _Iv2Sub1 extends Iv2Root {
+
+    public static final String X_PROPERTY = "x";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setX(Iv2X x) {
+        setToOneTarget(X_PROPERTY, x, true);
+    }
+
+    public Iv2X getX() {
+        return (Iv2X)readProperty(X_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java
new file mode 100644
index 0000000..1bcbe84
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java
@@ -0,0 +1,16 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _Iv2X 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 _Iv2X extends CayenneDataObject {
+
+
+    public static final String ID_PK_COLUMN = "ID";
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
new file mode 100644
index 0000000..96cdf07
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _IvRoot 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 _IvRoot extends CayenneDataObject {
+
+    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDiscriminator(String discriminator) {
+        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
+    }
+    public String getDiscriminator() {
+        return (String)readProperty(DISCRIMINATOR_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+}

Reply via email to