You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2014/11/12 18:07:12 UTC

[01/11] cayenne git commit: Refactor TestMap Project

Repository: cayenne
Updated Branches:
  refs/heads/master d7178a8b4 -> 535ecb881


http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
----------------------------------------------------------------------
diff --git a/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml b/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
index 543d405..ca501db 100644
--- a/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
+++ b/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
@@ -277,7 +277,7 @@
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="UUID" type="VARCHAR" length="100"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -312,51 +312,51 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" clientClassName="org.apache.cayenne.testdo.testmap.client.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
 		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
 		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
 		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
 	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitNumberTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitNumberTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BlobTestEntity" dbEntityName="BLOB_TEST">
+	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BlobTestEntity" dbEntityName="BLOB_TEST">
 		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CalendarEntity" dbEntityName="CALENDAR_TEST">
+	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CalendarEntity" dbEntityName="CALENDAR_TEST">
 		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
 	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
 		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
 		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestEntity" dbEntityName="CLOB_TEST">
+	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestEntity" dbEntityName="CLOB_TEST">
 		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
 		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
 		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="VALUE"/>
 	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundPainting" dbEntityName="PAINTING">
@@ -366,78 +366,78 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
 		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
 		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" clientClassName="org.apache.cayenne.testdo.testmap.client.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
 		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
 	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
+	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+		<obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" clientClassName="org.apache.cayenne.testdo.testmap.client.Gallery" dbEntityName="GALLERY">
 		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.LongEntity" dbEntityName="LONG_ENTITY">
+	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.LongEntity" dbEntityName="LONG_ENTITY">
 		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
 	</obj-entity>
 	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
 		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.NoPkTestEntity" dbEntityName="NO_PK_TEST">
 		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
 	</obj-entity>
 	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" clientClassName="org.apache.cayenne.testdo.testmap.client.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
@@ -453,7 +453,7 @@
 		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
 		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
 	</obj-entity>
@@ -470,7 +470,7 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
@@ -490,25 +490,25 @@
 		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
 		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
 		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
 		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
 		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
 		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
 	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
 		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
 	</obj-entity>
 	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" clientClassName="org.apache.cayenne.testdo.testmap.client.SubPainting" dbEntityName="PAINTING">
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.TinyintTestEntity" dbEntityName="TINYINT_TEST">
 		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
 	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.UuidTestEntity" dbEntityName="UUID_TEST">
+	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.UuidTestEntity" dbEntityName="UUID_TEST">
 		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
 	</obj-entity>
 	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml b/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
index 6542bd2..71dfb21 100644
--- a/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
+++ b/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
@@ -277,7 +277,7 @@
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="UUID" type="VARCHAR" length="100"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -312,51 +312,51 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
 		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
 		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
 		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
 	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" dbEntityName="BLOB_TEST">
+	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" dbEntityName="BLOB_TEST">
 		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" dbEntityName="CALENDAR_TEST">
+	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" dbEntityName="CALENDAR_TEST">
 		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
 	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
 		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
 		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" dbEntityName="CLOB_TEST">
+	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" dbEntityName="CLOB_TEST">
 		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
 		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
 		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="VALUE"/>
 	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
@@ -366,78 +366,78 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
 		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
 		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
 		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
 	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
+	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+		<obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
 		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" dbEntityName="LONG_ENTITY">
+	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" dbEntityName="LONG_ENTITY">
 		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
 	</obj-entity>
 	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
 		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" dbEntityName="NO_PK_TEST">
 		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
 	</obj-entity>
 	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
@@ -453,7 +453,7 @@
 		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
 		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
 	</obj-entity>
@@ -470,7 +470,7 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
@@ -490,25 +490,25 @@
 		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
 		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
 		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
 		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
 		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
 		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
 	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
 		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
 	</obj-entity>
 	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" dbEntityName="TINYINT_TEST">
 		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
 	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" dbEntityName="UUID_TEST">
+	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" dbEntityName="UUID_TEST">
 		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
 	</obj-entity>
 	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">


[10/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
new file mode 100644
index 0000000..e27e6a5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
@@ -0,0 +1,129 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextEJBQLQueryCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    private TableHelper tCompoundPk;
+    private TableHelper tCompoundFk;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPk.setColumns("KEY1", "KEY2");
+
+        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    private void createTwoCompoundPKTwoFK() throws Exception {
+        tCompoundPk.insert("a1", "a2");
+        tCompoundPk.insert("b1", "b2");
+        tCompoundFk.insert(33001, "a1", "a2");
+        tCompoundFk.insert(33002, "b1", "b2");
+    }
+
+    @Test
+    public void testSelectFromWhereMatchOnMultiColumnObject() throws Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk = :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33002, Cayenne.intPKForObject(o1));
+    }
+
+    @Test
+    public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws Exception {
+        if (!accessStackAdapter.supportsReverseComparison()) {
+            return;
+        }
+
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE :param = e.toCompoundPk";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33002, Cayenne.intPKForObject(o1));
+    }
+
+    @Test
+    public void testSelectFromWhereNoMatchOnMultiColumnObject() throws Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33001, Cayenne.intPKForObject(o1));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
index 6e32995..a61cf18 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
@@ -29,8 +29,6 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.test.junit.AssertExtras;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
@@ -39,11 +37,9 @@ import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 import static org.junit.Assert.assertEquals;
@@ -64,8 +60,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tCompoundPk;
-    private TableHelper tCompoundFk;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -74,8 +68,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -90,12 +82,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
                 Types.BIGINT,
                 Types.VARCHAR,
                 Types.DECIMAL);
-
-        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPk.setColumns("KEY1", "KEY2");
-
-        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     private void createFourArtistsTwoPaintings() throws Exception {
@@ -107,13 +93,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         tPainting.insert(33002, 33002, "P2", 5000);
     }
 
-    private void createTwoCompoundPKTwoFK() throws Exception {
-        tCompoundPk.insert("a1", "a2");
-        tCompoundPk.insert("b1", "b2");
-        tCompoundFk.insert(33001, "a1", "a2");
-        tCompoundFk.insert(33002, "b1", "b2");
-    }
-
     /**
      * CAY-899: Checks that aggregate results do not cause callbacks execution.
      */
@@ -494,76 +473,4 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(p));
     }
 
-    @Test
-    public void testSelectFromWhereMatchOnMultiColumnObject() throws Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk = :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33002, Cayenne.intPKForObject(o1));
-    }
-
-    @Test
-    public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws Exception {
-        if (!accessStackAdapter.supportsReverseComparison()) {
-            return;
-        }
-
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE :param = e.toCompoundPk";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33002, Cayenne.intPKForObject(o1));
-    }
-
-    @Test
-    public void testSelectFromWhereNoMatchOnMultiColumnObject() throws Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33001, Cayenne.intPKForObject(o1));
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
new file mode 100644
index 0000000..b85c3a0
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
@@ -0,0 +1,87 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextEJBQLUpdateCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    private TableHelper tCompoundPk;
+    private TableHelper tCompoundFk;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPk.setColumns("KEY1", "KEY2");
+
+        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    private void createTwoCompoundPKTwoFK() throws Exception {
+        tCompoundPk.insert("a1", "a2");
+        tCompoundPk.insert("b1", "b2");
+        tCompoundFk.insert(33001, "a1", "a2");
+        tCompoundFk.insert(33002, "b1", "b2");
+    }
+
+    @Test
+    public void testUpdateNoQualifierToOneCompoundPK() throws Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity object = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        EJBQLQuery check = new EJBQLQuery(
+                "select count(e) from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param");
+        check.setParameter("param", object);
+
+        Object notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(1l), notUpdated);
+
+        String ejbql = "UPDATE CompoundFkTestEntity e SET e.toCompoundPk = :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", object);
+
+        QueryResponse result = context.performGenericQuery(query);
+
+        int[] count = result.firstUpdateCount();
+        assertNotNull(count);
+        assertEquals(1, count.length);
+        assertEquals(2, count[0]);
+
+        notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(0l), notUpdated);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
index 3de1db8..fad0256 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
@@ -26,15 +26,11 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
-import java.util.HashMap;
-import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -50,19 +46,14 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tCompoundPk;
-    private TableHelper tCompoundFk;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("BOOLEAN_TEST");
         dbHelper.deleteAll("PAINTING_INFO");
         dbHelper.deleteAll("PAINTING");
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -78,11 +69,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
                 Types.VARCHAR,
                 Types.DECIMAL);
 
-        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPk.setColumns("KEY1", "KEY2");
-
-        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     private void createThreeArtistsTwoPaintings() throws Exception {
@@ -93,13 +79,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         tPainting.insert(33002, 33002, "P2", 5000);
     }
 
-    private void createTwoCompoundPKTwoFK() throws Exception {
-        tCompoundPk.insert("a1", "a2");
-        tCompoundPk.insert("b1", "b2");
-        tCompoundFk.insert(33001, "a1", "a2");
-        tCompoundFk.insert(33002, "b1", "b2");
-    }
-
     @Test
     public void testUpdateQualifier() throws Exception {
         createThreeArtistsTwoPaintings();
@@ -247,40 +226,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
     }
 
     @Test
-    public void testUpdateNoQualifierBoolean() throws Exception {
-
-        BooleanTestEntity o1 = context.newObject(BooleanTestEntity.class);
-        o1.setBooleanColumn(Boolean.TRUE);
-
-        BooleanTestEntity o2 = context.newObject(BooleanTestEntity.class);
-        o2.setBooleanColumn(Boolean.FALSE);
-
-        BooleanTestEntity o3 = context.newObject(BooleanTestEntity.class);
-        o3.setBooleanColumn(Boolean.FALSE);
-
-        context.commitChanges();
-
-        EJBQLQuery check = new EJBQLQuery("select count(p) from BooleanTestEntity p "
-                + "WHERE p.booleanColumn = true");
-
-        Object notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(1l), notUpdated);
-
-        String ejbql = "UPDATE BooleanTestEntity AS p SET p.booleanColumn = true";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(3, count[0]);
-
-        notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(3l), notUpdated);
-    }
-
-    @Test
     public void testUpdateNoQualifierToOne() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -308,38 +253,4 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(0l), notUpdated);
     }
 
-    @Test
-    public void testUpdateNoQualifierToOneCompoundPK() throws Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity object = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        EJBQLQuery check = new EJBQLQuery(
-                "select count(e) from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param");
-        check.setParameter("param", object);
-
-        Object notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(1l), notUpdated);
-
-        String ejbql = "UPDATE CompoundFkTestEntity e SET e.toCompoundPk = :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", object);
-
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(2, count[0]);
-
-        notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(0l), notUpdated);
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
index 7b8483d..34be732 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
@@ -27,8 +27,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKDep;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKTest1;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MEANINGFUL_PK_PROJECT)
 public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
index 24fa4e4..594ef1f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
@@ -26,8 +26,8 @@ import org.apache.cayenne.query.CapsStrategy;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ExtendedTypeEntity;
-import org.apache.cayenne.testdo.testmap.StringET1;
+import org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity;
+import org.apache.cayenne.testdo.extended_type.StringET1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -36,7 +36,7 @@ import java.util.Arrays;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.EXTENDED_TYPE_PROJECT)
 public class DataContextExtendedTypeOperationsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
index 9da593e..0e23a8d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.NoPkTestEntity;
+import org.apache.cayenne.testdo.no_pk.NoPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.NO_PK_PROJECT)
 public class DataContextNoPkIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
index 12454bb..06cc7bd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
@@ -31,10 +31,10 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.CharFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
+import org.apache.cayenne.testdo.compound.CharFkTestEntity;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test prefetching of various obscure cases.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class DataContextPrefetchExtrasIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
index 75eb08e..8a6267d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
@@ -51,10 +51,10 @@ import static org.junit.Assert.assertTrue;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextProcedureQueryIT extends ServerCase {
 
-    public static final String UPDATE_STORED_PROCEDURE = "cayenne_tst_upd_proc";
-    public static final String UPDATE_STORED_PROCEDURE_NOPARAM = "cayenne_tst_upd_proc2";
-    public static final String SELECT_STORED_PROCEDURE = "cayenne_tst_select_proc";
-    public static final String OUT_STORED_PROCEDURE = "cayenne_tst_out_proc";
+    public static final String UPDATE_STORED_PROCEDURE = "cayenne_test_upd_proc";
+    public static final String UPDATE_STORED_PROCEDURE_NOPARAM = "cayenne_test_upd_proc2";
+    public static final String SELECT_STORED_PROCEDURE = "cayenne_test_select_proc";
+    public static final String OUT_STORED_PROCEDURE = "cayenne_test_out_proc";
 
     @Inject
     private DataContext context;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
new file mode 100644
index 0000000..6e84aee
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
@@ -0,0 +1,105 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.CapsStrategy;
+import org.apache.cayenne.query.SQLTemplate;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextSQLTemplateCompoundIT extends ServerCase {
+
+    @Inject
+    protected DataContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    protected TableHelper tCompoundPkTest;
+    protected TableHelper tCompoundFkTest;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPkTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPkTest.setColumns("KEY1", "KEY2");
+
+        tCompoundFkTest = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFkTest.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    protected void createTwoCompoundPKsAndCompoundFKsDataSet() throws Exception {
+        tCompoundPkTest.insert("a1", "a2");
+        tCompoundPkTest.insert("b1", "b2");
+
+        tCompoundFkTest.insert(6, "a1", "a2");
+        tCompoundFkTest.insert(7, "b1", "b2");
+    }
+
+    @Test
+    public void testBindObjectEqualCompound() throws Exception {
+        createTwoCompoundPKsAndCompoundFKsDataSet();
+
+        Map<String, String> pk = new HashMap<String, String>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
+
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                pk);
+
+        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
+                + " WHERE #bindObjectEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
+        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
+        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
+        query.setParameters(Collections.singletonMap("a", a));
+
+        List<CompoundFkTestEntity> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+
+        CompoundFkTestEntity p = objects.get(0);
+        assertEquals(6, Cayenne.intPKForObject(p));
+    }
+
+    @Test
+    public void testBindObjectNotEqualCompound() throws Exception {
+        createTwoCompoundPKsAndCompoundFKsDataSet();
+
+        Map<String, String> pk = new HashMap<String, String>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
+
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                pk);
+
+        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
+                + " WHERE #bindObjectNotEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
+        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
+        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
+        query.setParameters(Collections.singletonMap("a", a));
+
+        List<CompoundFkTestEntity> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+
+        CompoundFkTestEntity p = objects.get(0);
+        assertEquals(7, Cayenne.intPKForObject(p));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
index a88f2d4..58c48f5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
@@ -34,8 +34,6 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -44,9 +42,7 @@ import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -69,8 +65,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
     protected TableHelper tPainting;
     protected TableHelper tArtist;
-    protected TableHelper tCompoundPkTest;
-    protected TableHelper tCompoundFkTest;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -79,8 +73,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -95,12 +87,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
                 Types.VARCHAR,
                 Types.BIGINT,
                 Types.DECIMAL);
-
-        tCompoundPkTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPkTest.setColumns("KEY1", "KEY2");
-
-        tCompoundFkTest = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFkTest.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     protected void createFourArtists() throws Exception {
@@ -118,14 +104,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
         tPainting.insert(8, "p_artist4", null, 3000);
     }
 
-    protected void createTwoCompoundPKsAndCompoundFKsDataSet() throws Exception {
-        tCompoundPkTest.insert("a1", "a2");
-        tCompoundPkTest.insert("b1", "b2");
-
-        tCompoundFkTest.insert(6, "a1", "a2");
-        tCompoundFkTest.insert(7, "b1", "b2");
-    }
-
     @Test
     public void testSQLResultSetMappingMixed() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
@@ -135,7 +113,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
                 + "GROUP BY t0.ARTIST_ID, t0.ARTIST_NAME, t0.DATE_OF_BIRTH "
                 + "ORDER BY t0.ARTIST_ID";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setColumnNamesCapitalization(CapsStrategy.UPPER);
 
@@ -175,7 +153,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         createFourArtists();
         
         SQLTemplate query = new SQLTemplate("SELECT * FROM ARTIST", true);
-        query.setDataNodeName("tstmap");
+        query.setDataNodeName("testmap");
         assertEquals(4, context.performQuery(query).size());
     }
 
@@ -192,7 +170,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -220,7 +198,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X, 77 AS Y FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -437,58 +415,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
     }
 
     @Test
-    public void testBindObjectEqualCompound() throws Exception {
-        createTwoCompoundPKsAndCompoundFKsDataSet();
-
-        Map<String, String> pk = new HashMap<String, String>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
-
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                pk);
-
-        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
-                + " WHERE #bindObjectEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
-        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
-        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
-        query.setParameters(Collections.singletonMap("a", a));
-
-        List<CompoundFkTestEntity> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-
-        CompoundFkTestEntity p = objects.get(0);
-        assertEquals(6, Cayenne.intPKForObject(p));
-    }
-
-    @Test
-    public void testBindObjectNotEqualCompound() throws Exception {
-        createTwoCompoundPKsAndCompoundFKsDataSet();
-
-        Map<String, String> pk = new HashMap<String, String>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
-
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                pk);
-
-        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
-                + " WHERE #bindObjectNotEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
-        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
-        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
-        query.setParameters(Collections.singletonMap("a", a));
-
-        List<CompoundFkTestEntity> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-
-        CompoundFkTestEntity p = objects.get(0);
-        assertEquals(7, Cayenne.intPKForObject(p));
-    }
-
-    @Test
     public void testBindObjectNotEqualNull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
index f6a5ba2..75c3812 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.NamedQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CalendarEntity;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
+import org.apache.cayenne.testdo.date_time.CalendarEntity;
+import org.apache.cayenne.testdo.date_time.DateTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Tests Date handling in Cayenne.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.DATE_TIME_PROJECT)
 public class DateTimeTypesIT extends ServerCase {
 
     @Inject
@@ -203,6 +203,7 @@ public class DateTimeTypesIT extends ServerCase {
         NamedQuery q = new NamedQuery("SelectDateTest");
         DataRow testRead = (DataRow) context.performQuery(q).get(0);
         Date columnValue = (Date) testRead.get("TIME_COLUMN");
+        assertNotNull(testRead.toString(), columnValue);
         assertNotNull(columnValue);
         assertEquals(now.toString(), new Time(columnValue.getTime()).toString());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
index 9a003c3..ffa489b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
@@ -52,7 +52,7 @@ public class DbGeneratorIT extends ServerCase {
     protected void setUpAfterInjection() throws Exception {
         generator = new DbGenerator(adapter, runtime
                 .getDataDomain()
-                .getDataMap("tstmap"), logger);
+                .getDataMap("testmap"), logger);
     }
 
     @Test
@@ -62,7 +62,7 @@ public class DbGeneratorIT extends ServerCase {
 
     @Test
     public void testPkFilteringLogic() throws Exception {
-        DataMap map = runtime.getDataDomain().getDataMap("tstmap");
+        DataMap map = runtime.getDataDomain().getDataMap("testmap");
         DbEntity artistExhibit = map.getDbEntity("ARTIST_EXHIBIT");
         DbEntity exhibit = map.getDbEntity("EXHIBIT");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
index b25267c..7b6e1a8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
@@ -27,8 +27,8 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.Enum1;
-import org.apache.cayenne.testdo.testmap.EnumEntity;
+import org.apache.cayenne.testdo.enum_test.Enum1;
+import org.apache.cayenne.testdo.enum_test.EnumEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -36,7 +36,7 @@ import org.junit.Test;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.ENUM_PROJECT)
 public class EnumIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
index bbd3787..b98eed7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
@@ -30,13 +30,13 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnDep;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTest2;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
-import org.apache.cayenne.testdo.testmap.GeneratedF1;
-import org.apache.cayenne.testdo.testmap.GeneratedF2;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompKey;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster;
+import org.apache.cayenne.testdo.generated.GeneratedColumnDep;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTest2;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+import org.apache.cayenne.testdo.generated.GeneratedF1;
+import org.apache.cayenne.testdo.generated.GeneratedF2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -48,7 +48,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.GENERATED_PROJECT)
 public class IdentityColumnsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
index d1da777..c43dbb0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ArraysEntity;
-import org.apache.cayenne.testdo.testmap.CharacterEntity;
-import org.apache.cayenne.testdo.testmap.SerializableEntity;
+import org.apache.cayenne.testdo.misc_types.ArraysEntity;
+import org.apache.cayenne.testdo.misc_types.CharacterEntity;
+import org.apache.cayenne.testdo.misc_types.SerializableEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MISC_TYPES_PROJECT)
 public class MiscTypesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
index e18f218..c0e30ef 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
@@ -27,15 +27,15 @@ import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.BigDecimalEntity;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
-import org.apache.cayenne.testdo.testmap.BitTestEntity;
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
-import org.apache.cayenne.testdo.testmap.DecimalPKTest1;
-import org.apache.cayenne.testdo.testmap.DecimalPKTestEntity;
-import org.apache.cayenne.testdo.testmap.LongEntity;
-import org.apache.cayenne.testdo.testmap.SmallintTestEntity;
-import org.apache.cayenne.testdo.testmap.TinyintTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BigDecimalEntity;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.testdo.numeric_types.BitTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
+import org.apache.cayenne.testdo.numeric_types.DecimalPKTest1;
+import org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity;
+import org.apache.cayenne.testdo.numeric_types.LongEntity;
+import org.apache.cayenne.testdo.numeric_types.SmallintTestEntity;
+import org.apache.cayenne.testdo.numeric_types.TinyintTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -51,7 +51,7 @@ import static org.junit.Assert.assertSame;
 
 /**
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
 public class NumericTypesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
index 206c90d..a7cef30 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
@@ -20,12 +20,12 @@ package org.apache.cayenne.access;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.PrimitivesTestEntity;
+import org.apache.cayenne.testdo.primitive.PrimitivesTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.PRIMITIVE_PROJECT)
 public class PrimitiveAttributesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
index 9b61b6a..ba5b085 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
@@ -23,10 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.NamedQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap2;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap2;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -45,7 +44,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test Types mapping for selected columns
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.RETURN_TYPES_PROJECT)
 public class ReturnTypesMappingIT extends ServerCase {
 
     @Inject
@@ -64,7 +63,6 @@ public class ReturnTypesMappingIT extends ServerCase {
             dbHelper.deleteAll("TYPES_MAPPING_TEST2");
         }
         dbHelper.deleteAll("TYPES_MAPPING_TEST1");
-        dbHelper.deleteAll("DATE_TEST");
     }
 
     /*
@@ -738,28 +736,6 @@ public class ReturnTypesMappingIT extends ServerCase {
     }
 
     @Test
-    public void testSQLTemplateTime() throws Exception {
-        DateTestEntity test = (DateTestEntity) context.newObject("DateTestEntity");
-
-        Calendar cal = Calendar.getInstance();
-        cal.clear();
-        cal.set(2003, 1, 1, 1, 20, 30);
-
-        // most databases fail millisecond accuracy
-        // cal.set(Calendar.MILLISECOND, 55);
-
-        Time now = new Time(cal.getTime().getTime());
-        test.setTimeColumn(now);
-        context.commitChanges();
-
-        NamedQuery q = new NamedQuery("SelectDateTest");
-        DataRow testRead = (DataRow) context.performQuery(q).get(0);
-        Date columnValue = (Date) testRead.get("TIME_COLUMN");
-        assertNotNull(testRead.toString(), columnValue);
-        assertEquals(now.toString(), new Time(columnValue.getTime()).toString());
-    }
-
-    @Test
     public void testTIMESTAMP() throws Exception {
         String columnName = "TIMESTAMP_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
index 45ab106..dfea01e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.UuidPkEntity;
-import org.apache.cayenne.testdo.testmap.UuidTestEntity;
+import org.apache.cayenne.testdo.uuid.UuidPkEntity;
+import org.apache.cayenne.testdo.uuid.UuidTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -35,7 +35,7 @@ import java.util.UUID;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.UUID_PROJECT)
 public class UUIDIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
new file mode 100644
index 0000000..263942a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
@@ -0,0 +1,70 @@
+package org.apache.cayenne.access.jdbc;
+
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.di.AdhocObjectFactory;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.query.InsertBatchQuery;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+
+@UseServerRuntime(ServerCase.GENERATED_PROJECT)
+public class BatchActionGeneratedIT extends ServerCase {
+
+    @Inject
+    private ServerRuntime runtime;
+
+    @Inject
+    private AdhocObjectFactory objectFactory;
+
+    @Test
+    public void testHasGeneratedKeys1() throws Exception {
+        EntityResolver resolver = runtime.getChannel().getEntityResolver();
+
+        // test with adapter that supports keys
+        JdbcAdapter adapter = buildAdapter(true);
+
+        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
+                .getDbEntity(), 5);
+
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+
+        assertTrue(new BatchAction(batch1, node, false).hasGeneratedKeys());
+    }
+
+    @Test
+    public void testHasGeneratedKeys2() throws Exception {
+        EntityResolver resolver = runtime.getChannel().getEntityResolver();
+
+        // test with adapter that does not support keys...
+        JdbcAdapter adapter = buildAdapter(false);
+
+        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
+                .getDbEntity(), 5);
+
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+
+        assertFalse(new BatchAction(batch1, node, false).hasGeneratedKeys());
+    }
+
+    JdbcAdapter buildAdapter(boolean supportGeneratedKeys) {
+        JdbcAdapter adapter = objectFactory.newInstance(JdbcAdapter.class, JdbcAdapter.class.getName());
+        adapter.setSupportsGeneratedKeys(supportGeneratedKeys);
+        return adapter;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
index 51bd248..3a72e1e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
@@ -28,13 +28,11 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
@@ -53,15 +51,11 @@ public class BatchActionIT extends ServerCase {
         // test with adapter that supports keys
         JdbcAdapter adapter = buildAdapter(true);
 
-        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
-                .getDbEntity(), 5);
         DataNode node = new DataNode();
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
 
-        assertTrue(new BatchAction(batch1, node, false).hasGeneratedKeys());
-
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
         assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }
@@ -73,16 +67,11 @@ public class BatchActionIT extends ServerCase {
         // test with adapter that does not support keys...
         JdbcAdapter adapter = buildAdapter(false);
 
-        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
-                .getDbEntity(), 5);
-
         DataNode node = new DataNode();
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
 
-        assertFalse(new BatchAction(batch1, node, false).hasGeneratedKeys());
-
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
         assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
index 48ddcef..9786266 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
-import org.apache.cayenne.testdo.testmap.ClobTestRelation;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+import org.apache.cayenne.testdo.lob.ClobTestRelation;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -36,7 +36,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class SelectActionIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
index 86218d9..954808e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
@@ -62,7 +62,7 @@ public class ServerRuntimeBuilder_InAction_IT extends ServerCase {
         tArtist.insert(33001, "AA1");
         tArtist.insert(33002, "AA2");
 
-        this.dataSource = runtime.getDataSource("tstmap");
+        this.dataSource = runtime.getDataSource("testmap");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
index d2a372e..73425bf 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class OracleAdapterIT extends ServerCase {
 
     @Inject
@@ -46,13 +46,13 @@ public class OracleAdapterIT extends ServerCase {
 
     @Test
     public void testUpdatesLOBColumns() throws Exception {
-        DataMap map = runtime.getDataDomain().getDataMap("tstmap");
+        DataMap map = runtime.getDataDomain().getDataMap("lob");
         assertTrue(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
                 .getDbEntity("BLOB_TEST"), 1)));
         assertTrue(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
                 .getDbEntity("CLOB_TEST"), 1)));
         assertFalse(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
-                .getDbEntity("ARTIST"), 1)));
+                .getDbEntity("TEST"), 1)));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
index a305cf9..7a45599 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.exp;
 
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java b/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
index 205f569..4e078e6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
@@ -91,11 +91,11 @@ public class MapLoaderLoadTest {
     @Test
     public void testLoadTestMap() throws Exception {
         MapLoader mapLoader = new MapLoader();
-        DataMap map = mapLoader.loadDataMap(getMapXml("tstmap.map.xml"));
+        DataMap map = mapLoader.loadDataMap(getMapXml("testmap.map.xml"));
         assertNotNull(map);
 
         // test procedures
-        Procedure procedure = map.getProcedure("cayenne_tst_upd_proc");
+        Procedure procedure = map.getProcedure("cayenne_test_upd_proc");
         assertNotNull(procedure);
         List<ProcedureParameter> params = procedure.getCallParameters();
         assertNotNull(params);
@@ -124,7 +124,7 @@ public class MapLoaderLoadTest {
     public void testEncodeAsXML() throws FileNotFoundException {
         // load map
         MapLoader mapLoader = new MapLoader();
-        DataMap map = mapLoader.loadDataMap(getMapXml("tstmap.map.xml"));
+        DataMap map = mapLoader.loadDataMap(getMapXml("testmap.map.xml"));
         assertNotNull(map);
 
         // encode map

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
index 9103f15..14fe42f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
@@ -124,7 +124,7 @@ public class ObjEntityIT extends ServerCase {
         assertNull(clientPk.getEntity());
         assertFalse(clientArtistE.getAttributes().contains(pk));
 
-        ObjEntity meaningfulPKE = runtime.getDataDomain().getEntityResolver().getObjEntity("MeaningfulPKTest1");
+        ObjEntity meaningfulPKE = runtime.getDataDomain().getEntityResolver().getObjEntity("MeaningfulGeneratedColumnTestEntity");
         Collection<ObjAttribute> mpks = meaningfulPKE.getPrimaryKeys();
         assertEquals(1, mpks.size());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
index 53d5039..d8fac76 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
@@ -85,7 +85,7 @@ public abstract class MergeCase extends ServerCase {
         // this map can't be safely modified in this test, as it is reset by DI
         // container
         // on every test
-        map = runtime.getDataDomain().getDataMap("tstmap");
+        map = runtime.getDataDomain().getDataMap("testmap");
 
         filterDataMap();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
index 2513627..c4f010b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
@@ -29,7 +29,6 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
@@ -67,22 +66,17 @@ public class EJBQLQueryIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tBigIntegerEntity;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("PAINTING");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("BIGINTEGER_ENTITY");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
 
         tPainting = new TableHelper(dbHelper, "PAINTING");
         tPainting.setColumns("PAINTING_ID", "ARTIST_ID", "PAINTING_TITLE");
-
-        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
-        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
     }
 
     protected void createArtistsDataSet() throws Exception {
@@ -101,29 +95,6 @@ public class EJBQLQueryIT extends ServerCase {
         tPainting.insert(33003, 33002, "%%?_title%%_");
     }
 
-    protected void createBigIntegerEntitiesDataSet() throws Exception {
-        tBigIntegerEntity.insert(44001, new Long(744073709551715l));
-    }
-
-    @Test
-    public void testLongParameter() throws Exception {
-        createBigIntegerEntitiesDataSet();
-        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > ?1";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter(1,744073709551615l);
-        List<BigIntegerEntity> result = context.performQuery(query);
-        assertEquals(1, result.size());
-    }
-
-    @Test
-    public void testLongLiteral() throws Exception {
-        createBigIntegerEntitiesDataSet();
-        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > 744073709551615";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        List<BigIntegerEntity> result = context.performQuery(query);
-        assertEquals(1, result.size());
-    }
-
     @Test
     public void testParameters() {
         String ejbql = "select a FROM Artist a WHERE a.artistName = ?1 OR a.artistName = :name";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
new file mode 100644
index 0000000..3cb152a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
@@ -0,0 +1,57 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
+public class EJBQLQueryNumericIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    private TableHelper tBigIntegerEntity;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("BIGINTEGER_ENTITY");
+
+        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
+        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
+    }
+
+    protected void createBigIntegerEntitiesDataSet() throws Exception {
+        tBigIntegerEntity.insert(44001, new Long(744073709551715l));
+    }
+
+    @Test
+    public void testLongParameter() throws Exception {
+        createBigIntegerEntitiesDataSet();
+        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > ?1";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter(1,744073709551615l);
+        List<BigIntegerEntity> result = context.performQuery(query);
+        assertEquals(1, result.size());
+    }
+
+    @Test
+    public void testLongLiteral() throws Exception {
+        createBigIntegerEntitiesDataSet();
+        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > 744073709551615";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        List<BigIntegerEntity> result = context.performQuery(query);
+        assertEquals(1, result.size());
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
index dd5882f..56d31b1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
@@ -68,7 +68,7 @@ public class SQLSelectIT extends ServerCase {
 
 		createArtistsDataSet();
 
-		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("tstmap", "SELECT * FROM ARTIST");
+		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("testmap", "SELECT * FROM ARTIST");
 		assertTrue(q1.isFetchingDataRows());
 
 		List<DataRow> result = context.select(q1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
index 244c8d5..d4696ac 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
@@ -65,7 +65,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
 	public void testSQLTemplateForDataMap() {
-		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
+		DataMap testDataMap = context.getEntityResolver().getDataMap("testmap");
 		SQLTemplate q1 = new SQLTemplate(testDataMap, "SELECT * FROM ARTIST", true);
 		List<DataRow> result = context.performQuery(q1);
 		assertEquals(0, result.size());
@@ -73,7 +73,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
 	public void testSQLTemplateForDataMapWithInsert() {
-		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
+		DataMap testDataMap = context.getEntityResolver().getDataMap("testmap");
 		String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
 		SQLTemplate q1 = new SQLTemplate(testDataMap, sql, true);
 		context.performNonSelectingQuery(q1);
@@ -85,7 +85,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
 	public void testSQLTemplateForDataMapWithInsertException() {
-		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
+		DataMap testDataMap = context.getEntityResolver().getDataMap("testmap");
 		String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
 		SQLTemplate q1 = new SQLTemplate(testDataMap, sql, true);
 		context.performNonSelectingQuery(q1);
@@ -97,7 +97,7 @@ public class SQLTemplateIT extends ServerCase {
 		} catch (CayenneRuntimeException e) {
 			gotRuntimeException = true;
 		}
-		assertTrue("If fetchingDataRows is false and ObjectEntity not set, shoulb be thrown exception",
+		assertTrue("If fetchingDataRows is false and ObjectEntity not set, should be thrown exception",
 				gotRuntimeException);
 	}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
new file mode 100644
index 0000000..debde5e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
@@ -0,0 +1,108 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.LOB_PROJECT)
+public class SelectQueryClobIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("CLOB_TEST_RELATION");
+
+        if (accessStackAdapter.supportsLobs()) {
+            dbHelper.deleteAll("CLOB_TEST");
+        }
+    }
+
+    protected void createClobDataSet() throws Exception {
+        TableHelper tClobTest = new TableHelper(dbHelper, "CLOB_TEST");
+        tClobTest.setColumns("CLOB_TEST_ID", "CLOB_COL");
+
+        tClobTest.deleteAll();
+
+        tClobTest.insert(1, "clob1");
+        tClobTest.insert(2, "clob2");
+    }
+
+    /**
+     * Test how "like ignore case" works when using uppercase parameter.
+     */
+    @Test
+    public void testSelectLikeIgnoreCaseClob() throws Exception {
+        if (accessStackAdapter.supportsLobs()) {
+            createClobDataSet();
+            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.likeIgnoreCaseExp("clobCol", "clob%");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(2, objects.size());
+        }
+    }
+
+    @Test
+    public void testSelectFetchLimit_Offset_DistinctClob() throws Exception {
+        if (accessStackAdapter.supportsLobs()) {
+            createClobDataSet();
+
+            // see CAY-1539... CLOB column causes suppression of DISTINCT in
+            // SQL, and hence the offset processing is done in memory
+            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            query.addOrdering("db:" + ClobTestEntity.CLOB_TEST_ID_PK_COLUMN, SortOrder.ASCENDING);
+            query.setFetchLimit(1);
+            query.setFetchOffset(1);
+            query.setDistinct(true);
+
+            List<ClobTestEntity> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+            assertEquals(2, Cayenne.intPKForObject(objects.get(0)));
+        }
+    }
+
+    @Test
+    public void testSelectEqualsClob() throws Exception {
+        if (accessStackAdapter.supportsLobComparisons()) {
+            createClobDataSet();
+            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.matchExp("clobCol", "clob1");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+        }
+    }
+
+    @Test
+    public void testSelectNotEqualsClob() throws Exception {
+        if (accessStackAdapter.supportsLobComparisons()) {
+            createClobDataSet();
+            SelectQuery query = new SelectQuery(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.noMatchExp("clobCol", "clob1");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+        }
+    }
+}
\ No newline at end of file


[08/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.java
deleted file mode 100644
index fc5f8b0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.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.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._SubEntity1;
-
-public class SubEntity1 extends _SubEntity1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.java
deleted file mode 100644
index cd37042..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.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.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._SubEntity2;
-
-public class SubEntity2 extends _SubEntity2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.java
deleted file mode 100644
index c12f956..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.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.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._SubEntity3;
-
-public class SubEntity3 extends _SubEntity3 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java
deleted file mode 100644
index bde41fd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _AbstractSuperEntity 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 _AbstractSuperEntity extends CayenneDataObject {
-
-    public static final String SUPER_INT_ATTR_PROPERTY = "superIntAttr";
-    public static final String SUPER_STRING_ATTR_PROPERTY = "superStringAttr";
-
-
-    public void setSuperIntAttr(int superIntAttr) {
-        writeProperty("superIntAttr", superIntAttr);
-    }
-    public int getSuperIntAttr() {
-        Object value = readProperty("superIntAttr");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-    public void setSuperStringAttr(String superStringAttr) {
-        writeProperty("superStringAttr", superStringAttr);
-    }
-    public String getSuperStringAttr() {
-        return (String)readProperty("superStringAttr");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java
deleted file mode 100644
index 124fb68..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity;
-
-/**
- * Class _SubEntity1 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 _SubEntity1 extends AbstractSuperEntity {
-
-    public static final String SUB_ENTITY_STRING_ATTR_PROPERTY = "subEntityStringAttr";
-
-    public static final String ID_PK_COLUMN = "id";
-
-    public void setSubEntityStringAttr(String subEntityStringAttr) {
-        writeProperty("subEntityStringAttr", subEntityStringAttr);
-    }
-    public String getSubEntityStringAttr() {
-        return (String)readProperty("subEntityStringAttr");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java
deleted file mode 100644
index b08b0b0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity;
-
-/**
- * Class _SubEntity2 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 _SubEntity2 extends AbstractSuperEntity {
-
-    public static final String SUB_ENTITY_INT_ATTR_PROPERTY = "subEntityIntAttr";
-
-    public static final String ID_PK_COLUMN = "id";
-
-    public void setSubEntityIntAttr(int subEntityIntAttr) {
-        writeProperty("subEntityIntAttr", subEntityIntAttr);
-    }
-    public int getSubEntityIntAttr() {
-        Object value = readProperty("subEntityIntAttr");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java
deleted file mode 100644
index 29e3c61..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity;
-
-/**
- * Class _SubEntity3 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 _SubEntity3 extends AbstractSuperEntity {
-
-    public static final String SUB_BOOLEAN_ATTR_PROPERTY = "subBooleanAttr";
-
-    public static final String ID_PK_COLUMN = "id";
-
-    public void setSubBooleanAttr(boolean subBooleanAttr) {
-        writeProperty("subBooleanAttr", subBooleanAttr);
-    }
-	public boolean isSubBooleanAttr() {
-        Boolean value = (Boolean)readProperty("subBooleanAttr");
-        return (value != null) ? value.booleanValue() : false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.java
new file mode 100644
index 0000000..cde9a16
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.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_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._AbstractSuperEntity;
+
+public abstract class AbstractSuperEntity extends _AbstractSuperEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.java
new file mode 100644
index 0000000..7f34015
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.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_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._SubEntity1;
+
+public class SubEntity1 extends _SubEntity1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.java
new file mode 100644
index 0000000..9fd6eef
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.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_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._SubEntity2;
+
+public class SubEntity2 extends _SubEntity2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.java
new file mode 100644
index 0000000..1c222c1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.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_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._SubEntity3;
+
+public class SubEntity3 extends _SubEntity3 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java
new file mode 100644
index 0000000..169b93f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _AbstractSuperEntity 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 _AbstractSuperEntity extends CayenneDataObject {
+
+    public static final String SUPER_INT_ATTR_PROPERTY = "superIntAttr";
+    public static final String SUPER_STRING_ATTR_PROPERTY = "superStringAttr";
+
+
+    public void setSuperIntAttr(int superIntAttr) {
+        writeProperty("superIntAttr", superIntAttr);
+    }
+    public int getSuperIntAttr() {
+        Object value = readProperty("superIntAttr");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+    public void setSuperStringAttr(String superStringAttr) {
+        writeProperty("superStringAttr", superStringAttr);
+    }
+    public String getSuperStringAttr() {
+        return (String)readProperty("superStringAttr");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java
new file mode 100644
index 0000000..d637c6a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.AbstractSuperEntity;
+
+/**
+ * Class _SubEntity1 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 _SubEntity1 extends AbstractSuperEntity {
+
+    public static final String SUB_ENTITY_STRING_ATTR_PROPERTY = "subEntityStringAttr";
+
+    public static final String ID_PK_COLUMN = "id";
+
+    public void setSubEntityStringAttr(String subEntityStringAttr) {
+        writeProperty("subEntityStringAttr", subEntityStringAttr);
+    }
+    public String getSubEntityStringAttr() {
+        return (String)readProperty("subEntityStringAttr");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java
new file mode 100644
index 0000000..80e0ac3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java
@@ -0,0 +1,25 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.AbstractSuperEntity;
+
+/**
+ * Class _SubEntity2 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 _SubEntity2 extends AbstractSuperEntity {
+
+    public static final String SUB_ENTITY_INT_ATTR_PROPERTY = "subEntityIntAttr";
+
+    public static final String ID_PK_COLUMN = "id";
+
+    public void setSubEntityIntAttr(int subEntityIntAttr) {
+        writeProperty("subEntityIntAttr", subEntityIntAttr);
+    }
+    public int getSubEntityIntAttr() {
+        Object value = readProperty("subEntityIntAttr");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java
new file mode 100644
index 0000000..f2d6d98
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java
@@ -0,0 +1,25 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.AbstractSuperEntity;
+
+/**
+ * Class _SubEntity3 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 _SubEntity3 extends AbstractSuperEntity {
+
+    public static final String SUB_BOOLEAN_ATTR_PROPERTY = "subBooleanAttr";
+
+    public static final String ID_PK_COLUMN = "id";
+
+    public void setSubBooleanAttr(boolean subBooleanAttr) {
+        writeProperty("subBooleanAttr", subBooleanAttr);
+    }
+	public boolean isSubBooleanAttr() {
+        Boolean value = (Boolean)readProperty("subBooleanAttr");
+        return (value != null) ? value.booleanValue() : false;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java
new file mode 100644
index 0000000..788bd7b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.lob;
+
+import org.apache.cayenne.testdo.lob.auto._BlobTestEntity;
+
+public class BlobTestEntity extends _BlobTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java
new file mode 100644
index 0000000..b6ae490
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.lob;
+
+import org.apache.cayenne.testdo.lob.auto._ClobTestEntity;
+
+public class ClobTestEntity extends _ClobTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.java
new file mode 100644
index 0000000..61027cf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.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.lob;
+
+import org.apache.cayenne.testdo.lob.auto._ClobTestRelation;
+
+public class ClobTestRelation extends _ClobTestRelation {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java
new file mode 100644
index 0000000..458574c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.lob.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BlobTestEntity 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 _BlobTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BLOB_COL_PROPERTY = "blobCol";
+
+    public static final String BLOB_TEST_ID_PK_COLUMN = "BLOB_TEST_ID";
+
+    public static final Property<byte[]> BLOB_COL = new Property<byte[]>("blobCol");
+
+    public void setBlobCol(byte[] blobCol) {
+        writeProperty("blobCol", blobCol);
+    }
+    public byte[] getBlobCol() {
+        return (byte[])readProperty("blobCol");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java
new file mode 100644
index 0000000..ad745fe
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.lob.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.lob.ClobTestRelation;
+
+/**
+ * Class _ClobTestEntity 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 _ClobTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CLOB_COL_PROPERTY = "clobCol";
+    @Deprecated
+    public static final String CLOB_VALUE_PROPERTY = "clobValue";
+
+    public static final String CLOB_TEST_ID_PK_COLUMN = "CLOB_TEST_ID";
+
+    public static final Property<String> CLOB_COL = new Property<String>("clobCol");
+    public static final Property<List<ClobTestRelation>> CLOB_VALUE = new Property<List<ClobTestRelation>>("clobValue");
+
+    public void setClobCol(String clobCol) {
+        writeProperty("clobCol", clobCol);
+    }
+    public String getClobCol() {
+        return (String)readProperty("clobCol");
+    }
+
+    public void addToClobValue(ClobTestRelation obj) {
+        addToManyTarget("clobValue", obj, true);
+    }
+    public void removeFromClobValue(ClobTestRelation obj) {
+        removeToManyTarget("clobValue", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<ClobTestRelation> getClobValue() {
+        return (List<ClobTestRelation>)readProperty("clobValue");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java
new file mode 100644
index 0000000..0316e78
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java
@@ -0,0 +1,53 @@
+package org.apache.cayenne.testdo.lob.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+
+/**
+ * Class _ClobTestRelation 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 _ClobTestRelation extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ID_PROPERTY = "id";
+    @Deprecated
+    public static final String VALUE_PROPERTY = "value";
+    @Deprecated
+    public static final String CLOB_ID_PROPERTY = "clobId";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> ID = new Property<Integer>("id");
+    public static final Property<Integer> VALUE = new Property<Integer>("value");
+    public static final Property<ClobTestEntity> CLOB_ID = new Property<ClobTestEntity>("clobId");
+
+    public void setId(Integer id) {
+        writeProperty("id", id);
+    }
+    public Integer getId() {
+        return (Integer)readProperty("id");
+    }
+
+    public void setValue(Integer value) {
+        writeProperty("value", value);
+    }
+    public Integer getValue() {
+        return (Integer)readProperty("value");
+    }
+
+    public void setClobId(ClobTestEntity clobId) {
+        setToOneTarget("clobId", clobId, true);
+    }
+
+    public ClobTestEntity getClobId() {
+        return (ClobTestEntity)readProperty("clobId");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.java
new file mode 100644
index 0000000..1c2c251
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.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.meaningful_pk;
+
+import org.apache.cayenne.testdo.meaningful_pk.auto._MeaningfulPKDep;
+
+public class MeaningfulPKDep extends _MeaningfulPKDep {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.java
new file mode 100644
index 0000000..1b4cbcc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.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.meaningful_pk;
+
+import org.apache.cayenne.testdo.meaningful_pk.auto._MeaningfulPKTest1;
+
+public class MeaningfulPKTest1 extends _MeaningfulPKTest1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java
new file mode 100644
index 0000000..d390a37
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.meaningful_pk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
+
+/**
+ * Class _MeaningfulPKDep 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 _MeaningfulPKDep extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DESCR_PROPERTY = "descr";
+    @Deprecated
+    public static final String TO_MEANINGFUL_PK_PROPERTY = "toMeaningfulPK";
+
+    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
+
+    public static final Property<String> DESCR = new Property<String>("descr");
+    public static final Property<MeaningfulPKTest1> TO_MEANINGFUL_PK = new Property<MeaningfulPKTest1>("toMeaningfulPK");
+
+    public void setDescr(String descr) {
+        writeProperty("descr", descr);
+    }
+    public String getDescr() {
+        return (String)readProperty("descr");
+    }
+
+    public void setToMeaningfulPK(MeaningfulPKTest1 toMeaningfulPK) {
+        setToOneTarget("toMeaningfulPK", toMeaningfulPK, true);
+    }
+
+    public MeaningfulPKTest1 getToMeaningfulPK() {
+        return (MeaningfulPKTest1)readProperty("toMeaningfulPK");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java
new file mode 100644
index 0000000..ea6ab42
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java
@@ -0,0 +1,58 @@
+package org.apache.cayenne.testdo.meaningful_pk.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
+
+/**
+ * Class _MeaningfulPKTest1 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 _MeaningfulPKTest1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DESCR_PROPERTY = "descr";
+    @Deprecated
+    public static final String PK_ATTRIBUTE_PROPERTY = "pkAttribute";
+    @Deprecated
+    public static final String MEANINGFUL_PKDEP_ARRAY_PROPERTY = "meaningfulPKDepArray";
+
+    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
+
+    public static final Property<String> DESCR = new Property<String>("descr");
+    public static final Property<Integer> PK_ATTRIBUTE = new Property<Integer>("pkAttribute");
+    public static final Property<List<MeaningfulPKDep>> MEANINGFUL_PKDEP_ARRAY = new Property<List<MeaningfulPKDep>>("meaningfulPKDepArray");
+
+    public void setDescr(String descr) {
+        writeProperty("descr", descr);
+    }
+    public String getDescr() {
+        return (String)readProperty("descr");
+    }
+
+    public void setPkAttribute(Integer pkAttribute) {
+        writeProperty("pkAttribute", pkAttribute);
+    }
+    public Integer getPkAttribute() {
+        return (Integer)readProperty("pkAttribute");
+    }
+
+    public void addToMeaningfulPKDepArray(MeaningfulPKDep obj) {
+        addToManyTarget("meaningfulPKDepArray", obj, true);
+    }
+    public void removeFromMeaningfulPKDepArray(MeaningfulPKDep obj) {
+        removeToManyTarget("meaningfulPKDepArray", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<MeaningfulPKDep> getMeaningfulPKDepArray() {
+        return (List<MeaningfulPKDep>)readProperty("meaningfulPKDepArray");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java
new file mode 100644
index 0000000..e2d82e4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.misc_types;
+
+import org.apache.cayenne.testdo.misc_types.auto._ArraysEntity;
+
+public class ArraysEntity extends _ArraysEntity {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java
new file mode 100644
index 0000000..725f437
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.misc_types;
+
+import org.apache.cayenne.testdo.misc_types.auto._CharacterEntity;
+
+public class CharacterEntity extends _CharacterEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java
new file mode 100644
index 0000000..9a46f5d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.misc_types;
+
+import org.apache.cayenne.testdo.misc_types.auto._SerializableEntity;
+
+public class SerializableEntity extends _SerializableEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java
new file mode 100644
index 0000000..dae0afc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java
@@ -0,0 +1,60 @@
+package org.apache.cayenne.testdo.misc_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ArraysEntity 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 _ArraysEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BYTE_ARRAY_PROPERTY = "byteArray";
+    @Deprecated
+    public static final String BYTE_WRAPPER_ARRAY_PROPERTY = "byteWrapperArray";
+    @Deprecated
+    public static final String CHAR_ARRAY_PROPERTY = "charArray";
+    @Deprecated
+    public static final String CHAR_WRAPPER_ARRAY_PROPERTY = "charWrapperArray";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<byte[]> BYTE_ARRAY = new Property<byte[]>("byteArray");
+    public static final Property<Byte[]> BYTE_WRAPPER_ARRAY = new Property<Byte[]>("byteWrapperArray");
+    public static final Property<char[]> CHAR_ARRAY = new Property<char[]>("charArray");
+    public static final Property<Character[]> CHAR_WRAPPER_ARRAY = new Property<Character[]>("charWrapperArray");
+
+    public void setByteArray(byte[] byteArray) {
+        writeProperty("byteArray", byteArray);
+    }
+    public byte[] getByteArray() {
+        return (byte[])readProperty("byteArray");
+    }
+
+    public void setByteWrapperArray(Byte[] byteWrapperArray) {
+        writeProperty("byteWrapperArray", byteWrapperArray);
+    }
+    public Byte[] getByteWrapperArray() {
+        return (Byte[])readProperty("byteWrapperArray");
+    }
+
+    public void setCharArray(char[] charArray) {
+        writeProperty("charArray", charArray);
+    }
+    public char[] getCharArray() {
+        return (char[])readProperty("charArray");
+    }
+
+    public void setCharWrapperArray(Character[] charWrapperArray) {
+        writeProperty("charWrapperArray", charWrapperArray);
+    }
+    public Character[] getCharWrapperArray() {
+        return (Character[])readProperty("charWrapperArray");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java
new file mode 100644
index 0000000..50b240a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.misc_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _CharacterEntity 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 _CharacterEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CHARACTER_FIELD_PROPERTY = "characterField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Character> CHARACTER_FIELD = new Property<Character>("characterField");
+
+    public void setCharacterField(Character characterField) {
+        writeProperty("characterField", characterField);
+    }
+    public Character getCharacterField() {
+        return (Character)readProperty("characterField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java
new file mode 100644
index 0000000..5d1efa1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java
@@ -0,0 +1,31 @@
+package org.apache.cayenne.testdo.misc_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.MockSerializable;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _SerializableEntity 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 _SerializableEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String SERIALIZABLE_FIELD_PROPERTY = "serializableField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<MockSerializable> SERIALIZABLE_FIELD = new Property<MockSerializable>("serializableField");
+
+    public void setSerializableField(MockSerializable serializableField) {
+        writeProperty("serializableField", serializableField);
+    }
+    public MockSerializable getSerializableField() {
+        return (MockSerializable)readProperty("serializableField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java
new file mode 100644
index 0000000..cdc9290
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java
@@ -0,0 +1,35 @@
+/*****************************************************************
+ *   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.mixed_persistence_strategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.cayenne.testdo.mixed_persistence_strategy.auto._MixedPersistenceStrategy;
+
+public class MixedPersistenceStrategy extends _MixedPersistenceStrategy {
+
+    // a private variable that intentionally mirrors the name of the persistent property
+    // to create a "conflict"
+    private List details = new ArrayList();
+    
+    public List getIvarDetails() {
+        return details;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.java
new file mode 100644
index 0000000..15a6884
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.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.mixed_persistence_strategy;
+
+import org.apache.cayenne.testdo.mixed_persistence_strategy.auto._MixedPersistenceStrategy2;
+
+public class MixedPersistenceStrategy2 extends _MixedPersistenceStrategy2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java
new file mode 100644
index 0000000..c664ff2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java
@@ -0,0 +1,58 @@
+package org.apache.cayenne.testdo.mixed_persistence_strategy.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2;
+
+/**
+ * Class _MixedPersistenceStrategy 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 _MixedPersistenceStrategy extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DESCRIPTION_PROPERTY = "description";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String DETAILS_PROPERTY = "details";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> DESCRIPTION = new Property<String>("description");
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<MixedPersistenceStrategy2>> DETAILS = new Property<List<MixedPersistenceStrategy2>>("details");
+
+    public void setDescription(String description) {
+        writeProperty("description", description);
+    }
+    public String getDescription() {
+        return (String)readProperty("description");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToDetails(MixedPersistenceStrategy2 obj) {
+        addToManyTarget("details", obj, true);
+    }
+    public void removeFromDetails(MixedPersistenceStrategy2 obj) {
+        removeToManyTarget("details", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<MixedPersistenceStrategy2> getDetails() {
+        return (List<MixedPersistenceStrategy2>)readProperty("details");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java
new file mode 100644
index 0000000..0fab028
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.mixed_persistence_strategy.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy;
+
+/**
+ * Class _MixedPersistenceStrategy2 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 _MixedPersistenceStrategy2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String MASTER_PROPERTY = "master";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<MixedPersistenceStrategy> MASTER = new Property<MixedPersistenceStrategy>("master");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setMaster(MixedPersistenceStrategy master) {
+        setToOneTarget("master", master, true);
+    }
+
+    public MixedPersistenceStrategy getMaster() {
+        return (MixedPersistenceStrategy)readProperty("master");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java
new file mode 100644
index 0000000..7e05dd3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.no_pk;
+
+import org.apache.cayenne.testdo.no_pk.auto._NoPkTestEntity;
+
+public class NoPkTestEntity extends _NoPkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java
new file mode 100644
index 0000000..2cfbe63
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java
@@ -0,0 +1,29 @@
+package org.apache.cayenne.testdo.no_pk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _NoPkTestEntity 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 _NoPkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ATTRIBUTE1_PROPERTY = "attribute1";
+
+
+    public static final Property<Integer> ATTRIBUTE1 = new Property<Integer>("attribute1");
+
+    public void setAttribute1(Integer attribute1) {
+        writeProperty("attribute1", attribute1);
+    }
+    public Integer getAttribute1() {
+        return (Integer)readProperty("attribute1");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java
new file mode 100644
index 0000000..ea23806
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BigDecimalEntity;
+
+public class BigDecimalEntity extends _BigDecimalEntity {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java
new file mode 100644
index 0000000..6b0867a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BigIntegerEntity;
+
+public class BigIntegerEntity extends _BigIntegerEntity {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java
new file mode 100644
index 0000000..ab52725
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BitNumberTestEntity;
+
+public class BitNumberTestEntity extends _BitNumberTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java
new file mode 100644
index 0000000..362936c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BitTestEntity;
+
+public class BitTestEntity extends _BitTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java
new file mode 100644
index 0000000..e944261
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BooleanTestEntity;
+
+public class BooleanTestEntity extends _BooleanTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java
new file mode 100644
index 0000000..f9d4b8d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._DecimalPKTest1;
+
+public class DecimalPKTest1 extends _DecimalPKTest1 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java
new file mode 100644
index 0000000..c899b28
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._DecimalPKTestEntity;
+
+public class DecimalPKTestEntity extends _DecimalPKTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java
new file mode 100644
index 0000000..34a43b8
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._LongEntity;
+
+public class LongEntity extends _LongEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java
new file mode 100644
index 0000000..6642cbd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._SmallintTestEntity;
+
+public class SmallintTestEntity extends _SmallintTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java
new file mode 100644
index 0000000..75e9ecd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._TinyintTestEntity;
+
+public class TinyintTestEntity extends _TinyintTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java
new file mode 100644
index 0000000..dc6d5bb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import java.math.BigDecimal;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BigDecimalEntity 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 _BigDecimalEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIG_DECIMAL_FIELD_PROPERTY = "bigDecimalField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<BigDecimal> BIG_DECIMAL_FIELD = new Property<BigDecimal>("bigDecimalField");
+
+    public void setBigDecimalField(BigDecimal bigDecimalField) {
+        writeProperty("bigDecimalField", bigDecimalField);
+    }
+    public BigDecimal getBigDecimalField() {
+        return (BigDecimal)readProperty("bigDecimalField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java
new file mode 100644
index 0000000..2d9d988
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import java.math.BigInteger;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BigIntegerEntity 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 _BigIntegerEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIG_INTEGER_FIELD_PROPERTY = "bigIntegerField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<BigInteger> BIG_INTEGER_FIELD = new Property<BigInteger>("bigIntegerField");
+
+    public void setBigIntegerField(BigInteger bigIntegerField) {
+        writeProperty("bigIntegerField", bigIntegerField);
+    }
+    public BigInteger getBigIntegerField() {
+        return (BigInteger)readProperty("bigIntegerField");
+    }
+
+}


[04/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
index d256c8d..0e33821 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
@@ -19,6 +19,11 @@
 
 package org.apache.cayenne.unit;
 
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.Procedure;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.Statement;
@@ -27,11 +32,6 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.Procedure;
-
 /**
  */
 public class SybaseUnitDbAdapter extends UnitDbAdapter {
@@ -55,7 +55,7 @@ public class SybaseUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        Procedure proc = map.getProcedure("cayenne_tst_select_proc");
+        Procedure proc = map.getProcedure("cayenne_test_select_proc");
         if (proc != null && proc.getDataMap() == map) {
             executeDDL(con, "sybase", "create-select-sp.sql");
             executeDDL(con, "sybase", "create-update-sp.sql");
@@ -116,7 +116,7 @@ public class SybaseUnitDbAdapter extends UnitDbAdapter {
     }
 
     protected void dropProcedures(Connection con, DataMap map) throws Exception {
-        Procedure proc = map.getProcedure("cayenne_tst_select_proc");
+        Procedure proc = map.getProcedure("cayenne_test_select_proc");
         if (proc != null && proc.getDataMap() == map) {
             executeDDL(con, "sybase", "drop-select-sp.sql");
             executeDDL(con, "sybase", "drop-update-sp.sql");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
index 481b252..1b194ec 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
@@ -36,7 +36,7 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.MapLoader;
 import org.apache.cayenne.map.Procedure;
-import org.apache.cayenne.testdo.testmap.StringET1ExtendedType;
+import org.apache.cayenne.testdo.extended_type.StringET1ExtendedType;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -68,10 +68,11 @@ public class SchemaBuilder {
 
     public static final String SKIP_SCHEMA_KEY = "cayenne.test.schema.skip";
 
-    private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml", "inheritance.map.xml",
+    private static String[] MAPS_REQUIRING_SCHEMA_SETUP = {"testmap.map.xml", "compound.map.xml", "misc-types.map.xml", "things.map.xml", "numeric-types.map.xml", "binary-pk.map.xml", "no-pk.map.xml",
+            "lob.map.xml", "date-time.map.xml", "enum.map.xml", "extended-type.map.xml", "generated.map.xml", "mixed-persistence-strategy.map.xml", "people.map.xml", "primitive.map.xml", "inheritance.map.xml",
             "locking.map.xml", "soft-delete.map.xml", "relationships.map.xml", "relationships-activity.map.xml", "relationships-delete-rules.map.xml",
             "relationships-collection-to-many.map.xml", "relationships-child-master.map.xml", "relationships-clob.map.xml",
-            "relationships-flattened.map.xml", "relationships-set-to-many.map.xml", "relationships-to-many-fk.map.xml", "relationships-to-one-fk.map.xml",
+            "relationships-flattened.map.xml", "relationships-set-to-many.map.xml", "relationships-to-many-fk.map.xml", "relationships-to-one-fk.map.xml", "return-types.map.xml", "uuid.map.xml",
             "multi-tier.map.xml", "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml",
             "map-to-many.map.xml", "toone.map.xml", "meaningful-pk.map.xml", "table-primitives.map.xml",
             "generic.map.xml", "map-db1.map.xml", "map-db2.map.xml", "embeddable.map.xml", "qualified.map.xml",

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
index b605e50..463c006 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
@@ -47,6 +47,22 @@ public class ServerCase extends DICase {
 	public static final String RELATIONSHIPS_SET_TO_MANY_PROJECT = "cayenne-relationships-set-to-many.xml";
 	public static final String RELATIONSHIPS_TO_MANY_FK_PROJECT = "cayenne-relationships-to-many-fk.xml";
 	public static final String RELATIONSHIPS_TO_ONE_FK_PROJECT = "cayenne-relationships-to-one-fk.xml";
+	public static final String MISC_TYPES_PROJECT = "cayenne-misc-types.xml";
+	public static final String THINGS_PROJECT = "cayenne-things.xml";
+	public static final String NUMERIC_TYPES_PROJECT = "cayenne-numeric-types.xml";
+	public static final String BINARY_PK_PROJECT = "cayenne-binary-pk.xml";
+	public static final String NO_PK_PROJECT = "cayenne-no-pk.xml";
+	public static final String LOB_PROJECT = "cayenne-lob.xml";
+	public static final String DATE_TIME_PROJECT = "cayenne-date-time.xml";
+	public static final String ENUM_PROJECT = "cayenne-enum.xml";
+	public static final String EXTENDED_TYPE_PROJECT = "cayenne-extended-type.xml";
+	public static final String GENERATED_PROJECT = "cayenne-generated.xml";
+	public static final String MEANINGFUL_PK_PROJECT = "cayenne-meaningful-pk.xml";
+	public static final String MIXED_PERSISTENCE_STRATEGY_PROJECT = "cayenne-mixed-persistence-strategy.xml";
+	public static final String PRIMITIVE_PROJECT = "cayenne-primitive.xml";
+	public static final String RETURN_TYPES_PROJECT = "cayenne-return-types.xml";
+	public static final String UUID_PROJECT = "cayenne-uuid.xml";
+	public static final String COMPOUND_PROJECT = "cayenne-compound.xml";
 	public static final String TESTMAP_PROJECT = "cayenne-testmap.xml";
 	public static final String DEFAULT_PROJECT = "cayenne-default.xml";
 	public static final String MULTINODE_PROJECT = "cayenne-multinode.xml";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
index 8915ab2..449e33f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 /**
- * Test for Result directive to check if we could use ResultDitrective
+ * Test for Result directive to check if we could use ResultDirective
  * optionally.
  */
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/binary-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/binary-pk.map.xml b/cayenne-server/src/test/resources/binary-pk.map.xml
new file mode 100644
index 0000000..ce5ee57
--- /dev/null
+++ b/cayenne-server/src/test/resources/binary-pk.map.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.binary_pk"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BINARY_PK_TEST1">
+        <db-attribute name="BIN_ID" type="VARBINARY" isPrimaryKey="true" isMandatory="true" length="32"/>
+        <db-attribute name="NAME" type="VARCHAR" length="10"/>
+    </db-entity>
+    <db-entity name="BINARY_PK_TEST2">
+        <db-attribute name="DETAIL_NAME" type="VARCHAR" length="10"/>
+        <db-attribute name="FK_ID" type="VARBINARY" length="32"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+        <obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
+    </obj-entity>
+    <db-relationship name="binaryPKDetails" source="BINARY_PK_TEST1" target="BINARY_PK_TEST2" toMany="true">
+        <db-attribute-pair source="BIN_ID" target="FK_ID"/>
+    </db-relationship>
+    <db-relationship name="toBinaryPKMaster" source="BINARY_PK_TEST2" target="BINARY_PK_TEST1" toMany="false">
+        <db-attribute-pair source="FK_ID" target="BIN_ID"/>
+    </db-relationship>
+    <obj-relationship name="binaryPKDetails" source="BinaryPKTest1" target="BinaryPKTest2" db-relationship-path="binaryPKDetails"/>
+    <obj-relationship name="toBinaryPKMaster" source="BinaryPKTest2" target="BinaryPKTest1" db-relationship-path="toBinaryPKMaster"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-binary-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-binary-pk.xml b/cayenne-server/src/test/resources/cayenne-binary-pk.xml
new file mode 100644
index 0000000..0922532
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-binary-pk.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="binary-pk"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-compound.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-compound.xml b/cayenne-server/src/test/resources/cayenne-compound.xml
new file mode 100644
index 0000000..28773ec
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-compound.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="compound"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-date-time.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-date-time.xml b/cayenne-server/src/test/resources/cayenne-date-time.xml
new file mode 100644
index 0000000..9c7e1d3
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-date-time.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="date-time"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-enum.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-enum.xml b/cayenne-server/src/test/resources/cayenne-enum.xml
new file mode 100644
index 0000000..4b94cd1
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-enum.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="enum"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-extended-type.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-extended-type.xml b/cayenne-server/src/test/resources/cayenne-extended-type.xml
new file mode 100644
index 0000000..84b0670
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-extended-type.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="extended-type"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-generated.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-generated.xml b/cayenne-server/src/test/resources/cayenne-generated.xml
new file mode 100644
index 0000000..57bd957
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-generated.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="generated"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-lob.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-lob.xml b/cayenne-server/src/test/resources/cayenne-lob.xml
new file mode 100644
index 0000000..0bca9f9
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-lob.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="lob"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-misc-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-misc-types.xml b/cayenne-server/src/test/resources/cayenne-misc-types.xml
new file mode 100644
index 0000000..bbc06f2
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-misc-types.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="misc-types"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml b/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
new file mode 100644
index 0000000..84ebf37
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="mixed-persistence-strategy"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-no-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-no-pk.xml b/cayenne-server/src/test/resources/cayenne-no-pk.xml
new file mode 100644
index 0000000..3a65de0
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-no-pk.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="no-pk"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-numeric-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-numeric-types.xml b/cayenne-server/src/test/resources/cayenne-numeric-types.xml
new file mode 100644
index 0000000..52d63c3
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-numeric-types.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="numeric-types"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-primitive.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-primitive.xml b/cayenne-server/src/test/resources/cayenne-primitive.xml
new file mode 100644
index 0000000..a63d770
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-primitive.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="primitive"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-return-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-return-types.xml b/cayenne-server/src/test/resources/cayenne-return-types.xml
new file mode 100644
index 0000000..b03bf5d
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-return-types.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="return-types"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-testmap.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-testmap.xml b/cayenne-server/src/test/resources/cayenne-testmap.xml
index 9410b11..4028207 100644
--- a/cayenne-server/src/test/resources/cayenne-testmap.xml
+++ b/cayenne-server/src/test/resources/cayenne-testmap.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <domain project-version="7">
-	<map name="tstmap"/>
+	<map name="testmap"/>
 </domain>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-things.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-things.xml b/cayenne-server/src/test/resources/cayenne-things.xml
new file mode 100644
index 0000000..8e9e1de
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-things.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="things"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-uuid.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-uuid.xml b/cayenne-server/src/test/resources/cayenne-uuid.xml
new file mode 100644
index 0000000..f3bd2e1
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-uuid.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="uuid"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/compound.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/compound.map.xml b/cayenne-server/src/test/resources/compound.map.xml
new file mode 100644
index 0000000..47ebbdb
--- /dev/null
+++ b/cayenne-server/src/test/resources/compound.map.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.compound"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="CHAR_FK_TEST">
+        <db-attribute name="FK_COL" type="CHAR" length="10"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+        <db-attribute name="PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CHAR_PK_TEST">
+        <db-attribute name="OTHER_COL" type="CHAR" length="10"/>
+        <db-attribute name="PK_COL" type="CHAR" isPrimaryKey="true" isMandatory="true" length="10"/>
+    </db-entity>
+    <db-entity name="COMPOUND_FK_TEST">
+        <db-attribute name="F_KEY1" type="VARCHAR" length="20"/>
+        <db-attribute name="F_KEY2" type="VARCHAR" length="20"/>
+        <db-attribute name="NAME" type="VARCHAR" length="255"/>
+        <db-attribute name="PKEY" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="COMPOUND_PK_TEST">
+        <db-attribute name="KEY1" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
+        <db-attribute name="KEY2" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
+        <db-attribute name="NAME" type="VARCHAR" length="255"/>
+    </db-entity>
+    <obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+        <obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
+        <obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
+    </obj-entity>
+    <obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+        <obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
+        <obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="toCharPK" source="CHAR_FK_TEST" target="CHAR_PK_TEST" toMany="false">
+        <db-attribute-pair source="FK_COL" target="PK_COL"/>
+    </db-relationship>
+    <db-relationship name="charFKs" source="CHAR_PK_TEST" target="CHAR_FK_TEST" toMany="true">
+        <db-attribute-pair source="PK_COL" target="FK_COL"/>
+    </db-relationship>
+    <db-relationship name="toCompoundPk" source="COMPOUND_FK_TEST" target="COMPOUND_PK_TEST" toMany="false">
+        <db-attribute-pair source="F_KEY1" target="KEY1"/>
+        <db-attribute-pair source="F_KEY2" target="KEY2"/>
+    </db-relationship>
+    <db-relationship name="compoundFkArray" source="COMPOUND_PK_TEST" target="COMPOUND_FK_TEST" toMany="true">
+        <db-attribute-pair source="KEY1" target="F_KEY1"/>
+        <db-attribute-pair source="KEY2" target="F_KEY2"/>
+    </db-relationship>
+    <obj-relationship name="toCharPK" source="CharFkTestEntity" target="CharPkTestEntity" db-relationship-path="toCharPK"/>
+    <obj-relationship name="charFKs" source="CharPkTestEntity" target="CharFkTestEntity" db-relationship-path="charFKs"/>
+    <obj-relationship name="toCompoundPk" source="CompoundFkTestEntity" target="CompoundPkTestEntity" db-relationship-path="toCompoundPk"/>
+    <obj-relationship name="compoundFkArray" source="CompoundPkTestEntity" target="CompoundFkTestEntity" db-relationship-path="compoundFkArray"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/date-time.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/date-time.map.xml b/cayenne-server/src/test/resources/date-time.map.xml
new file mode 100644
index 0000000..4cf4d8b
--- /dev/null
+++ b/cayenne-server/src/test/resources/date-time.map.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.date_time"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="CALENDAR_TEST">
+        <db-attribute name="CALENDAR_FIELD" type="TIMESTAMP"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DATE_TEST">
+        <db-attribute name="DATE_COLUMN" type="DATE"/>
+        <db-attribute name="DATE_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
+        <db-attribute name="TIME_COLUMN" type="TIME"/>
+    </db-entity>
+    <obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" dbEntityName="CALENDAR_TEST">
+        <obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
+    </obj-entity>
+    <obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
+        <obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
+        <obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
+        <obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
+    </obj-entity>
+    <query name="SelectDateTest" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="date-time">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+        <sql><![CDATA[SELECT * FROM DATE_TEST]]></sql>
+    </query>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/enum.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/enum.map.xml b/cayenne-server/src/test/resources/enum.map.xml
new file mode 100644
index 0000000..9233e86
--- /dev/null
+++ b/cayenne-server/src/test/resources/enum.map.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.enum"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="ENUM_ENTITY">
+        <db-attribute name="ENUM_ATTRIBUTE" type="VARCHAR" length="250"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+        <obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/extended-type.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/extended-type.map.xml b/cayenne-server/src/test/resources/extended-type.map.xml
new file mode 100644
index 0000000..cc2a5ee
--- /dev/null
+++ b/cayenne-server/src/test/resources/extended-type.map.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.extended_type"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="EXTENDED_TYPE_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+        <obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/generated.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/generated.map.xml b/cayenne-server/src/test/resources/generated.map.xml
new file mode 100644
index 0000000..8c0a947
--- /dev/null
+++ b/cayenne-server/src/test/resources/generated.map.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.generated"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="GENERATED_COLUMN_COMP_KEY">
+        <db-attribute name="AUTO_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+        <db-attribute name="PROPAGATED_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_COMP_M">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_DEP">
+        <db-attribute name="GENERATED_COLUMN_FK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_TEST">
+        <db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="250"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_TEST2">
+        <db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="GENERATED_F1">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="GENERATED_F2">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="GENERATED_JOIN">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="ID1" type="INTEGER"/>
+        <db-attribute name="ID2" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+    </obj-entity>
+    <obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+    </obj-entity>
+    <db-relationship name="toMaster" source="GENERATED_COLUMN_COMP_KEY" target="GENERATED_COLUMN_COMP_M" toMany="false">
+        <db-attribute-pair source="PROPAGATED_PK" target="ID"/>
+    </db-relationship>
+    <db-relationship name="toDetail" source="GENERATED_COLUMN_COMP_M" target="GENERATED_COLUMN_COMP_KEY" toDependentPK="true" toMany="true">
+        <db-attribute-pair source="ID" target="PROPAGATED_PK"/>
+    </db-relationship>
+    <db-relationship name="toMaster" source="GENERATED_COLUMN_DEP" target="GENERATED_COLUMN_TEST" toMany="false">
+        <db-attribute-pair source="GENERATED_COLUMN_FK" target="GENERATED_COLUMN"/>
+    </db-relationship>
+    <db-relationship name="toDep" source="GENERATED_COLUMN_TEST" target="GENERATED_COLUMN_DEP" toDependentPK="true" toMany="false">
+        <db-attribute-pair source="GENERATED_COLUMN" target="GENERATED_COLUMN_FK"/>
+    </db-relationship>
+    <db-relationship name="join" source="GENERATED_F1" target="GENERATED_JOIN" toMany="true">
+        <db-attribute-pair source="ID" target="ID1"/>
+    </db-relationship>
+    <db-relationship name="join" source="GENERATED_F2" target="GENERATED_JOIN" toMany="true">
+        <db-attribute-pair source="ID" target="ID2"/>
+    </db-relationship>
+    <db-relationship name="f1" source="GENERATED_JOIN" target="GENERATED_F1" toMany="false">
+        <db-attribute-pair source="ID1" target="ID"/>
+    </db-relationship>
+    <db-relationship name="f2" source="GENERATED_JOIN" target="GENERATED_F2" toMany="false">
+        <db-attribute-pair source="ID2" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="toMaster" source="GeneratedColumnCompKey" target="GeneratedColumnCompMaster" db-relationship-path="toMaster"/>
+    <obj-relationship name="toDetail" source="GeneratedColumnCompMaster" target="GeneratedColumnCompKey" db-relationship-path="toDetail"/>
+    <obj-relationship name="toMaster" source="GeneratedColumnDep" target="GeneratedColumnTestEntity" db-relationship-path="toMaster"/>
+    <obj-relationship name="toDep" source="GeneratedColumnTestEntity" target="GeneratedColumnDep" db-relationship-path="toDep"/>
+    <obj-relationship name="f2" source="GeneratedF1" target="GeneratedF2" deleteRule="Nullify" db-relationship-path="join.f2"/>
+    <obj-relationship name="f1" source="GeneratedF2" target="GeneratedF1" deleteRule="Nullify" db-relationship-path="join.f1"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/lob.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/lob.map.xml b/cayenne-server/src/test/resources/lob.map.xml
new file mode 100644
index 0000000..1aae149
--- /dev/null
+++ b/cayenne-server/src/test/resources/lob.map.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.lob"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BLOB_TEST">
+        <db-attribute name="BLOB_COL" type="BLOB"/>
+        <db-attribute name="BLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CLOB_TEST">
+        <db-attribute name="CLOB_COL" type="CLOB"/>
+        <db-attribute name="CLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CLOB_TEST_RELATION">
+        <db-attribute name="CVALUE" type="INTEGER"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="ID_CLOB" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="TEST">
+        <db-attribute name="TEST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="TEST_NAME" type="CHAR" isMandatory="true" length="254"/>
+    </db-entity>
+    <obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" dbEntityName="BLOB_TEST">
+        <obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
+    </obj-entity>
+    <obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" dbEntityName="CLOB_TEST">
+        <obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
+    </obj-entity>
+    <obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+        <obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
+        <obj-attribute name="value" type="java.lang.Integer" db-attribute-path="CVALUE"/>
+    </obj-entity>
+    <db-relationship name="clob" source="CLOB_TEST" target="CLOB_TEST_RELATION" toMany="true">
+        <db-attribute-pair source="CLOB_TEST_ID" target="ID_CLOB"/>
+    </db-relationship>
+    <db-relationship name="CLOB_REL" source="CLOB_TEST_RELATION" target="CLOB_TEST" toMany="false">
+        <db-attribute-pair source="ID_CLOB" target="CLOB_TEST_ID"/>
+    </db-relationship>
+    <obj-relationship name="clobValue" source="ClobTestEntity" target="ClobTestRelation" db-relationship-path="clob"/>
+    <obj-relationship name="clobId" source="ClobTestRelation" target="ClobTestEntity" db-relationship-path="CLOB_REL"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/meaningful-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/meaningful-pk.map.xml b/cayenne-server/src/test/resources/meaningful-pk.map.xml
index fdddca4..77237a2 100644
--- a/cayenne-server/src/test/resources/meaningful-pk.map.xml
+++ b/cayenne-server/src/test/resources/meaningful-pk.map.xml
@@ -9,7 +9,31 @@
     <db-entity name="MEANINGFUL_PK">
         <db-attribute name="PK" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
     </db-entity>
+    <db-entity name="MEANINGFUL_PK_DEP">
+        <db-attribute name="DESCR" type="VARCHAR" length="50"/>
+        <db-attribute name="MASTER_PK" type="INTEGER"/>
+        <db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="MEANINGFUL_PK_TEST1">
+        <db-attribute name="DESCR" type="VARCHAR" length="50"/>
+        <db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
     <obj-entity name="MeaningfulPk" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk" clientClassName="org.apache.cayenne.testdo.meaningful_pk.ClientMeaningfulPk" dbEntityName="MEANINGFUL_PK">
         <obj-attribute name="pk" type="java.lang.String" db-attribute-path="PK"/>
     </obj-entity>
+    <obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+        <obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
+    </obj-entity>
+    <obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+        <obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
+        <obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
+    </obj-entity>
+    <db-relationship name="toMeaningfulPK" source="MEANINGFUL_PK_DEP" target="MEANINGFUL_PK_TEST1" toMany="false">
+        <db-attribute-pair source="MASTER_PK" target="PK_ATTRIBUTE"/>
+    </db-relationship>
+    <db-relationship name="meaningfulPKDepArray" source="MEANINGFUL_PK_TEST1" target="MEANINGFUL_PK_DEP" toMany="true">
+        <db-attribute-pair source="PK_ATTRIBUTE" target="MASTER_PK"/>
+    </db-relationship>
+    <obj-relationship name="toMeaningfulPK" source="MeaningfulPKDep" target="MeaningfulPKTest1" db-relationship-path="toMeaningfulPK"/>
+    <obj-relationship name="meaningfulPKDepArray" source="MeaningfulPKTest1" target="MeaningfulPKDep" db-relationship-path="meaningfulPKDepArray"/>
 </data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/misc-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/misc-types.map.xml b/cayenne-server/src/test/resources/misc-types.map.xml
new file mode 100644
index 0000000..56371e3
--- /dev/null
+++ b/cayenne-server/src/test/resources/misc-types.map.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.misc_types"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="ARRAYS_ENTITY">
+        <db-attribute name="BYTE_ARRAY" type="VARBINARY" length="200"/>
+        <db-attribute name="BYTE_WRAPPER_ARRAY" type="VARBINARY" length="200"/>
+        <db-attribute name="CHAR_ARRAY" type="VARCHAR" length="200"/>
+        <db-attribute name="CHAR_WRAPPER_ARRAY" type="VARCHAR" length="200"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CHARACTER_ENTITY">
+        <db-attribute name="CHARACTER_FIELD" type="CHAR" length="1"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="SERIALIZABLE_ENTITY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="SERIALIZABLE_FIELD" type="BLOB"/>
+    </db-entity>
+    <obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+        <obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
+        <obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
+        <obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
+        <obj-attribute name="charWrapperArray" type="java.lang.Character[]" db-attribute-path="CHAR_WRAPPER_ARRAY"/>
+    </obj-entity>
+    <obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+        <obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
+    </obj-entity>
+    <obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+        <obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml b/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
new file mode 100644
index 0000000..494546d
--- /dev/null
+++ b/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.mixed_persistence_strategy"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="MIXED_PERSISTENCE_STRATEGY">
+        <db-attribute name="DESCRIPTION" type="VARCHAR" length="200"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="MIXED_PERSISTENCE_STRATEGY2">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="MASTER_ID" type="INTEGER"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+        <obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="details" source="MIXED_PERSISTENCE_STRATEGY" target="MIXED_PERSISTENCE_STRATEGY2" toMany="true">
+        <db-attribute-pair source="ID" target="MASTER_ID"/>
+    </db-relationship>
+    <db-relationship name="master" source="MIXED_PERSISTENCE_STRATEGY2" target="MIXED_PERSISTENCE_STRATEGY" toMany="false">
+        <db-attribute-pair source="MASTER_ID" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="details" source="MixedPersistenceStrategy" target="MixedPersistenceStrategy2" db-relationship-path="details"/>
+    <obj-relationship name="master" source="MixedPersistenceStrategy2" target="MixedPersistenceStrategy" db-relationship-path="master"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/no-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/no-pk.map.xml b/cayenne-server/src/test/resources/no-pk.map.xml
new file mode 100644
index 0000000..114d247
--- /dev/null
+++ b/cayenne-server/src/test/resources/no-pk.map.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.no_pk"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="NO_PK_TEST">
+        <db-attribute name="ATTRIBUTE1" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+        <obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/numeric-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/numeric-types.map.xml b/cayenne-server/src/test/resources/numeric-types.map.xml
new file mode 100644
index 0000000..c5a8e2e
--- /dev/null
+++ b/cayenne-server/src/test/resources/numeric-types.map.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.numeric_types"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BIGDECIMAL_ENTITY">
+        <db-attribute name="BIGDECIMAL_FIELD" type="NUMERIC" length="12" scale="2"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BIGINTEGER_ENTITY">
+        <db-attribute name="BIG_INTEGER_FIELD" type="BIGINT"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BIT_TEST">
+        <db-attribute name="BIT_COLUMN" type="BIT" isMandatory="true"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BOOLEAN_TEST">
+        <db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN" isMandatory="true"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DECIMAL_PK_TST">
+        <db-attribute name="DECIMAL_PK" type="DECIMAL" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="FLOAT_TEST">
+        <db-attribute name="FLOAT_COL" type="FLOAT"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="LONG_ENTITY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="LONG_FIELD" type="BIGINT"/>
+    </db-entity>
+    <db-entity name="SMALLINT_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="SMALLINT_COL" type="SMALLINT"/>
+    </db-entity>
+    <db-entity name="TINYINT_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="TINYINT_COL" type="TINYINT"/>
+    </db-entity>
+    <obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+        <obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
+    </obj-entity>
+    <obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+        <obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
+    </obj-entity>
+    <obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" dbEntityName="BIT_TEST">
+        <obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" dbEntityName="BIT_TEST">
+        <obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+        <obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+        <obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+        <obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" dbEntityName="LONG_ENTITY">
+        <obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
+    </obj-entity>
+    <obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+        <obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
+    </obj-entity>
+    <obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+        <obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/primitive.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/primitive.map.xml b/cayenne-server/src/test/resources/primitive.map.xml
new file mode 100644
index 0000000..db129dd
--- /dev/null
+++ b/cayenne-server/src/test/resources/primitive.map.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.primitive"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="PRIMITIVES_TEST">
+        <db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="INT_COLUMN" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+        <obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
+        <obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/return-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/return-types.map.xml b/cayenne-server/src/test/resources/return-types.map.xml
new file mode 100644
index 0000000..217dc73
--- /dev/null
+++ b/cayenne-server/src/test/resources/return-types.map.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.return_types"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="TYPES_MAPPING_LOBS_TEST1">
+        <db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="CLOB_COLUMN" type="CLOB"/>
+    </db-entity>
+    <db-entity name="TYPES_MAPPING_TEST1">
+        <db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="BIGINT_COLUMN" type="BIGINT"/>
+        <db-attribute name="BIT_COLUMN" type="BIT"/>
+        <db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
+        <db-attribute name="CHAR_COLUMN" type="CHAR" length="254"/>
+        <db-attribute name="DATE_COLUMN" type="DATE"/>
+        <db-attribute name="DECIMAL_COLUMN" type="DECIMAL" length="12" scale="5"/>
+        <db-attribute name="DOUBLE_COLUMN" type="DOUBLE" scale="7"/>
+        <db-attribute name="FLOAT_COLUMN" type="FLOAT" scale="3"/>
+        <db-attribute name="INTEGER_COLUMN" type="INTEGER"/>
+        <db-attribute name="LONGVARCHAR_COLUMN" type="LONGVARCHAR"/>
+        <db-attribute name="NUMERIC_COLUMN" type="NUMERIC" length="12" scale="5"/>
+        <db-attribute name="REAL_COLUMN" type="REAL" scale="5"/>
+        <db-attribute name="SMALLINT_COLUMN" type="SMALLINT"/>
+        <db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
+        <db-attribute name="TIME_COLUMN" type="TIME"/>
+        <db-attribute name="TINYINT_COLUMN" type="TINYINT"/>
+        <db-attribute name="VARCHAR_COLUMN" type="VARCHAR" length="255"/>
+    </db-entity>
+    <db-entity name="TYPES_MAPPING_TEST2">
+        <db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="BINARY_COLUMN" type="BINARY" length="14"/>
+        <db-attribute name="BLOB_COLUMN" type="BLOB"/>
+        <db-attribute name="LONGVARBINARY_COLUMN" type="LONGVARBINARY"/>
+        <db-attribute name="VARBINARY_COLUMN" type="VARBINARY" length="1000"/>
+    </db-entity>
+    <obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
+        <obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
+        <obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
+        <obj-attribute name="charColumn" type="java.lang.String" db-attribute-path="CHAR_COLUMN"/>
+        <obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
+        <obj-attribute name="decimalColumn" type="java.math.BigDecimal" db-attribute-path="DECIMAL_COLUMN"/>
+        <obj-attribute name="doubleColumn" type="java.lang.Double" db-attribute-path="DOUBLE_COLUMN"/>
+        <obj-attribute name="floatColumn" type="java.lang.Float" db-attribute-path="FLOAT_COLUMN"/>
+        <obj-attribute name="integerColumn" type="java.lang.Integer" db-attribute-path="INTEGER_COLUMN"/>
+        <obj-attribute name="longvarcharColumn" type="java.lang.String" db-attribute-path="LONGVARCHAR_COLUMN"/>
+        <obj-attribute name="numericColumn" type="java.math.BigDecimal" db-attribute-path="NUMERIC_COLUMN"/>
+        <obj-attribute name="realColumn" type="java.lang.Float" db-attribute-path="REAL_COLUMN"/>
+        <obj-attribute name="smallintColumn" type="java.lang.Short" db-attribute-path="SMALLINT_COLUMN"/>
+        <obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
+        <obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
+        <obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
+        <obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
+        <obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
+        <obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
+        <obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="ReturnTypesMapLobs1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1" clientClassName="test.client.ReturnTypesMapLobs1" dbEntityName="TYPES_MAPPING_LOBS_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="clobColumn" type="java.lang.String" db-attribute-path="CLOB_COLUMN"/>
+    </obj-entity>
+    <query name="SelectReturnTypesLobsMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="return-types">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <sql><![CDATA[SELECT * FROM TYPES_MAPPING_LOBS_TEST1]]></sql>
+    </query>
+    <query name="SelectReturnTypesMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="return-types">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+        <sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST1]]></sql>
+    </query>
+    <query name="SelectReturnTypesMap2" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="return-types">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+        <sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST2]]></sql>
+    </query>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/small-testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/small-testmap.map.xml b/cayenne-server/src/test/resources/small-testmap.map.xml
index 6174977..486256e 100644
--- a/cayenne-server/src/test/resources/small-testmap.map.xml
+++ b/cayenne-server/src/test/resources/small-testmap.map.xml
@@ -99,7 +99,7 @@
 		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="TEXT_REVIEW" type="LONGVARCHAR"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -114,16 +114,16 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>


[05/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java
deleted file mode 100644
index fdd25ce..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Enum1;
-
-/**
- * Class _EnumEntity 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 _EnumEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ENUM_ATTRIBUTE_PROPERTY = "enumAttribute";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Enum1> ENUM_ATTRIBUTE = new Property<Enum1>("enumAttribute");
-
-    public void setEnumAttribute(Enum1 enumAttribute) {
-        writeProperty("enumAttribute", enumAttribute);
-    }
-    public Enum1 getEnumAttribute() {
-        return (Enum1)readProperty("enumAttribute");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java
deleted file mode 100644
index dbf2d1f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.StringET1;
-
-/**
- * Class _ExtendedTypeEntity 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 _ExtendedTypeEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<StringET1> NAME = new Property<StringET1>("name");
-
-    public void setName(StringET1 name) {
-        writeProperty("name", name);
-    }
-    public StringET1 getName() {
-        return (StringET1)readProperty("name");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java
deleted file mode 100644
index cf31fef..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster;
-
-/**
- * Class _GeneratedColumnCompKey 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 _GeneratedColumnCompKey extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_MASTER_PROPERTY = "toMaster";
-
-    public static final String AUTO_PK_PK_COLUMN = "AUTO_PK";
-    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
-    public static final String PROPAGATED_PK_PK_COLUMN = "PROPAGATED_PK";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<GeneratedColumnCompMaster> TO_MASTER = new Property<GeneratedColumnCompMaster>("toMaster");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToMaster(GeneratedColumnCompMaster toMaster) {
-        setToOneTarget("toMaster", toMaster, true);
-    }
-
-    public GeneratedColumnCompMaster getToMaster() {
-        return (GeneratedColumnCompMaster)readProperty("toMaster");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java
deleted file mode 100644
index 752748f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey;
-
-/**
- * Class _GeneratedColumnCompMaster 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 _GeneratedColumnCompMaster extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_DETAIL_PROPERTY = "toDetail";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<GeneratedColumnCompKey>> TO_DETAIL = new Property<List<GeneratedColumnCompKey>>("toDetail");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToToDetail(GeneratedColumnCompKey obj) {
-        addToManyTarget("toDetail", obj, true);
-    }
-    public void removeFromToDetail(GeneratedColumnCompKey obj) {
-        removeToManyTarget("toDetail", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<GeneratedColumnCompKey> getToDetail() {
-        return (List<GeneratedColumnCompKey>)readProperty("toDetail");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java
deleted file mode 100644
index e89294c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
-
-/**
- * Class _GeneratedColumnDep 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 _GeneratedColumnDep extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_MASTER_PROPERTY = "toMaster";
-
-    public static final String GENERATED_COLUMN_FK_PK_COLUMN = "GENERATED_COLUMN_FK";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<GeneratedColumnTestEntity> TO_MASTER = new Property<GeneratedColumnTestEntity>("toMaster");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToMaster(GeneratedColumnTestEntity toMaster) {
-        setToOneTarget("toMaster", toMaster, true);
-    }
-
-    public GeneratedColumnTestEntity getToMaster() {
-        return (GeneratedColumnTestEntity)readProperty("toMaster");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java
deleted file mode 100644
index 1bc191b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _GeneratedColumnTest2 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 _GeneratedColumnTest2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
-
-    public static final Property<String> NAME = new Property<String>("name");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java
deleted file mode 100644
index 4c132c3..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnDep;
-
-/**
- * Class _GeneratedColumnTestEntity 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 _GeneratedColumnTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_DEP_PROPERTY = "toDep";
-
-    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<GeneratedColumnDep> TO_DEP = new Property<GeneratedColumnDep>("toDep");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToDep(GeneratedColumnDep toDep) {
-        setToOneTarget("toDep", toDep, true);
-    }
-
-    public GeneratedColumnDep getToDep() {
-        return (GeneratedColumnDep)readProperty("toDep");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java
deleted file mode 100644
index bf75642..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedF2;
-
-/**
- * Class _GeneratedF1 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 _GeneratedF1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String F2_PROPERTY = "f2";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<List<GeneratedF2>> F2 = new Property<List<GeneratedF2>>("f2");
-
-    public void addToF2(GeneratedF2 obj) {
-        addToManyTarget("f2", obj, true);
-    }
-    public void removeFromF2(GeneratedF2 obj) {
-        removeToManyTarget("f2", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<GeneratedF2> getF2() {
-        return (List<GeneratedF2>)readProperty("f2");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java
deleted file mode 100644
index 908789b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedF1;
-
-/**
- * Class _GeneratedF2 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 _GeneratedF2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String F1_PROPERTY = "f1";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<List<GeneratedF1>> F1 = new Property<List<GeneratedF1>>("f1");
-
-    public void addToF1(GeneratedF1 obj) {
-        addToManyTarget("f1", obj, true);
-    }
-    public void removeFromF1(GeneratedF1 obj) {
-        removeToManyTarget("f1", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<GeneratedF1> getF1() {
-        return (List<GeneratedF1>)readProperty("f1");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java
deleted file mode 100644
index 7b75465..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _LongEntity 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 _LongEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String LONG_FIELD_PROPERTY = "longField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Long> LONG_FIELD = new Property<Long>("longField");
-
-    public void setLongField(Long longField) {
-        writeProperty("longField", longField);
-    }
-    public Long getLongField() {
-        return (Long)readProperty("longField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java
deleted file mode 100644
index 797422d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKTest1;
-
-/**
- * Class _MeaningfulPKDep 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 _MeaningfulPKDep extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DESCR_PROPERTY = "descr";
-    @Deprecated
-    public static final String TO_MEANINGFUL_PK_PROPERTY = "toMeaningfulPK";
-
-    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
-
-    public static final Property<String> DESCR = new Property<String>("descr");
-    public static final Property<MeaningfulPKTest1> TO_MEANINGFUL_PK = new Property<MeaningfulPKTest1>("toMeaningfulPK");
-
-    public void setDescr(String descr) {
-        writeProperty("descr", descr);
-    }
-    public String getDescr() {
-        return (String)readProperty("descr");
-    }
-
-    public void setToMeaningfulPK(MeaningfulPKTest1 toMeaningfulPK) {
-        setToOneTarget("toMeaningfulPK", toMeaningfulPK, true);
-    }
-
-    public MeaningfulPKTest1 getToMeaningfulPK() {
-        return (MeaningfulPKTest1)readProperty("toMeaningfulPK");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java
deleted file mode 100644
index 3b55387..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKDep;
-
-/**
- * Class _MeaningfulPKTest1 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 _MeaningfulPKTest1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DESCR_PROPERTY = "descr";
-    @Deprecated
-    public static final String PK_ATTRIBUTE_PROPERTY = "pkAttribute";
-    @Deprecated
-    public static final String MEANINGFUL_PKDEP_ARRAY_PROPERTY = "meaningfulPKDepArray";
-
-    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
-
-    public static final Property<String> DESCR = new Property<String>("descr");
-    public static final Property<Integer> PK_ATTRIBUTE = new Property<Integer>("pkAttribute");
-    public static final Property<List<MeaningfulPKDep>> MEANINGFUL_PKDEP_ARRAY = new Property<List<MeaningfulPKDep>>("meaningfulPKDepArray");
-
-    public void setDescr(String descr) {
-        writeProperty("descr", descr);
-    }
-    public String getDescr() {
-        return (String)readProperty("descr");
-    }
-
-    public void setPkAttribute(Integer pkAttribute) {
-        writeProperty("pkAttribute", pkAttribute);
-    }
-    public Integer getPkAttribute() {
-        return (Integer)readProperty("pkAttribute");
-    }
-
-    public void addToMeaningfulPKDepArray(MeaningfulPKDep obj) {
-        addToManyTarget("meaningfulPKDepArray", obj, true);
-    }
-    public void removeFromMeaningfulPKDepArray(MeaningfulPKDep obj) {
-        removeToManyTarget("meaningfulPKDepArray", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MeaningfulPKDep> getMeaningfulPKDepArray() {
-        return (List<MeaningfulPKDep>)readProperty("meaningfulPKDepArray");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java
deleted file mode 100644
index a9696b1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2;
-
-/**
- * Class _MixedPersistenceStrategy 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 _MixedPersistenceStrategy extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DESCRIPTION_PROPERTY = "description";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String DETAILS_PROPERTY = "details";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> DESCRIPTION = new Property<String>("description");
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<MixedPersistenceStrategy2>> DETAILS = new Property<List<MixedPersistenceStrategy2>>("details");
-
-    public void setDescription(String description) {
-        writeProperty("description", description);
-    }
-    public String getDescription() {
-        return (String)readProperty("description");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToDetails(MixedPersistenceStrategy2 obj) {
-        addToManyTarget("details", obj, true);
-    }
-    public void removeFromDetails(MixedPersistenceStrategy2 obj) {
-        removeToManyTarget("details", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MixedPersistenceStrategy2> getDetails() {
-        return (List<MixedPersistenceStrategy2>)readProperty("details");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java
deleted file mode 100644
index f1e70a0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy;
-
-/**
- * Class _MixedPersistenceStrategy2 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 _MixedPersistenceStrategy2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String MASTER_PROPERTY = "master";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<MixedPersistenceStrategy> MASTER = new Property<MixedPersistenceStrategy>("master");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setMaster(MixedPersistenceStrategy master) {
-        setToOneTarget("master", master, true);
-    }
-
-    public MixedPersistenceStrategy getMaster() {
-        return (MixedPersistenceStrategy)readProperty("master");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java
deleted file mode 100644
index 954f63d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _NoPkTestEntity 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 _NoPkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ATTRIBUTE1_PROPERTY = "attribute1";
-
-
-    public static final Property<Integer> ATTRIBUTE1 = new Property<Integer>("attribute1");
-
-    public void setAttribute1(Integer attribute1) {
-        writeProperty("attribute1", attribute1);
-    }
-    public Integer getAttribute1() {
-        return (Integer)readProperty("attribute1");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java
deleted file mode 100644
index b67a1d9..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _PrimitivesTestEntity 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 _PrimitivesTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-    @Deprecated
-    public static final String INT_COLUMN_PROPERTY = "intColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
-    public static final Property<Integer> INT_COLUMN = new Property<Integer>("intColumn");
-
-    public void setBooleanColumn(boolean booleanColumn) {
-        writeProperty("booleanColumn", booleanColumn);
-    }
-	public boolean isBooleanColumn() {
-        Boolean value = (Boolean)readProperty("booleanColumn");
-        return (value != null) ? value.booleanValue() : false;
-    }
-
-    public void setIntColumn(int intColumn) {
-        writeProperty("intColumn", intColumn);
-    }
-    public int getIntColumn() {
-        Object value = readProperty("intColumn");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
deleted file mode 100644
index c9ea7ad..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ReturnTypesMap1 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 _ReturnTypesMap1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIGINT_COLUMN_PROPERTY = "bigintColumn";
-    @Deprecated
-    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
-    @Deprecated
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-    @Deprecated
-    public static final String CHAR_COLUMN_PROPERTY = "charColumn";
-    @Deprecated
-    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
-    @Deprecated
-    public static final String DECIMAL_COLUMN_PROPERTY = "decimalColumn";
-    @Deprecated
-    public static final String DOUBLE_COLUMN_PROPERTY = "doubleColumn";
-    @Deprecated
-    public static final String FLOAT_COLUMN_PROPERTY = "floatColumn";
-    @Deprecated
-    public static final String INTEGER_COLUMN_PROPERTY = "integerColumn";
-    @Deprecated
-    public static final String LONGVARCHAR_COLUMN_PROPERTY = "longvarcharColumn";
-    @Deprecated
-    public static final String NUMERIC_COLUMN_PROPERTY = "numericColumn";
-    @Deprecated
-    public static final String REAL_COLUMN_PROPERTY = "realColumn";
-    @Deprecated
-    public static final String SMALLINT_COLUMN_PROPERTY = "smallintColumn";
-    @Deprecated
-    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
-    @Deprecated
-    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
-    @Deprecated
-    public static final String TINYINT_COLUMN_PROPERTY = "tinyintColumn";
-    @Deprecated
-    public static final String VARCHAR_COLUMN_PROPERTY = "varcharColumn";
-
-    public static final String AAAID_PK_COLUMN = "AAAID";
-
-    public static final Property<Long> BIGINT_COLUMN = new Property<Long>("bigintColumn");
-    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
-    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
-    public static final Property<String> CHAR_COLUMN = new Property<String>("charColumn");
-    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
-    public static final Property<BigDecimal> DECIMAL_COLUMN = new Property<BigDecimal>("decimalColumn");
-    public static final Property<Double> DOUBLE_COLUMN = new Property<Double>("doubleColumn");
-    public static final Property<Float> FLOAT_COLUMN = new Property<Float>("floatColumn");
-    public static final Property<Integer> INTEGER_COLUMN = new Property<Integer>("integerColumn");
-    public static final Property<String> LONGVARCHAR_COLUMN = new Property<String>("longvarcharColumn");
-    public static final Property<BigDecimal> NUMERIC_COLUMN = new Property<BigDecimal>("numericColumn");
-    public static final Property<Float> REAL_COLUMN = new Property<Float>("realColumn");
-    public static final Property<Short> SMALLINT_COLUMN = new Property<Short>("smallintColumn");
-    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
-    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
-    public static final Property<Byte> TINYINT_COLUMN = new Property<Byte>("tinyintColumn");
-    public static final Property<String> VARCHAR_COLUMN = new Property<String>("varcharColumn");
-
-    public void setBigintColumn(Long bigintColumn) {
-        writeProperty("bigintColumn", bigintColumn);
-    }
-    public Long getBigintColumn() {
-        return (Long)readProperty("bigintColumn");
-    }
-
-    public void setBitColumn(Boolean bitColumn) {
-        writeProperty("bitColumn", bitColumn);
-    }
-    public Boolean getBitColumn() {
-        return (Boolean)readProperty("bitColumn");
-    }
-
-    public void setBooleanColumn(Boolean booleanColumn) {
-        writeProperty("booleanColumn", booleanColumn);
-    }
-    public Boolean getBooleanColumn() {
-        return (Boolean)readProperty("booleanColumn");
-    }
-
-    public void setCharColumn(String charColumn) {
-        writeProperty("charColumn", charColumn);
-    }
-    public String getCharColumn() {
-        return (String)readProperty("charColumn");
-    }
-
-    public void setDateColumn(Date dateColumn) {
-        writeProperty("dateColumn", dateColumn);
-    }
-    public Date getDateColumn() {
-        return (Date)readProperty("dateColumn");
-    }
-
-    public void setDecimalColumn(BigDecimal decimalColumn) {
-        writeProperty("decimalColumn", decimalColumn);
-    }
-    public BigDecimal getDecimalColumn() {
-        return (BigDecimal)readProperty("decimalColumn");
-    }
-
-    public void setDoubleColumn(Double doubleColumn) {
-        writeProperty("doubleColumn", doubleColumn);
-    }
-    public Double getDoubleColumn() {
-        return (Double)readProperty("doubleColumn");
-    }
-
-    public void setFloatColumn(Float floatColumn) {
-        writeProperty("floatColumn", floatColumn);
-    }
-    public Float getFloatColumn() {
-        return (Float)readProperty("floatColumn");
-    }
-
-    public void setIntegerColumn(Integer integerColumn) {
-        writeProperty("integerColumn", integerColumn);
-    }
-    public Integer getIntegerColumn() {
-        return (Integer)readProperty("integerColumn");
-    }
-
-    public void setLongvarcharColumn(String longvarcharColumn) {
-        writeProperty("longvarcharColumn", longvarcharColumn);
-    }
-    public String getLongvarcharColumn() {
-        return (String)readProperty("longvarcharColumn");
-    }
-
-    public void setNumericColumn(BigDecimal numericColumn) {
-        writeProperty("numericColumn", numericColumn);
-    }
-    public BigDecimal getNumericColumn() {
-        return (BigDecimal)readProperty("numericColumn");
-    }
-
-    public void setRealColumn(Float realColumn) {
-        writeProperty("realColumn", realColumn);
-    }
-    public Float getRealColumn() {
-        return (Float)readProperty("realColumn");
-    }
-
-    public void setSmallintColumn(Short smallintColumn) {
-        writeProperty("smallintColumn", smallintColumn);
-    }
-    public Short getSmallintColumn() {
-        return (Short)readProperty("smallintColumn");
-    }
-
-    public void setTimeColumn(Date timeColumn) {
-        writeProperty("timeColumn", timeColumn);
-    }
-    public Date getTimeColumn() {
-        return (Date)readProperty("timeColumn");
-    }
-
-    public void setTimestampColumn(Date timestampColumn) {
-        writeProperty("timestampColumn", timestampColumn);
-    }
-    public Date getTimestampColumn() {
-        return (Date)readProperty("timestampColumn");
-    }
-
-    public void setTinyintColumn(Byte tinyintColumn) {
-        writeProperty("tinyintColumn", tinyintColumn);
-    }
-    public Byte getTinyintColumn() {
-        return (Byte)readProperty("tinyintColumn");
-    }
-
-    public void setVarcharColumn(String varcharColumn) {
-        writeProperty("varcharColumn", varcharColumn);
-    }
-    public String getVarcharColumn() {
-        return (String)readProperty("varcharColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java
deleted file mode 100644
index a05b775..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ReturnTypesMap2 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 _ReturnTypesMap2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BINARY_COLUMN_PROPERTY = "binaryColumn";
-    @Deprecated
-    public static final String BLOB_COLUMN_PROPERTY = "blobColumn";
-    @Deprecated
-    public static final String LONGVARBINARY_COLUMN_PROPERTY = "longvarbinaryColumn";
-    @Deprecated
-    public static final String VARBINARY_COLUMN_PROPERTY = "varbinaryColumn";
-
-    public static final String AAAID_PK_COLUMN = "AAAID";
-
-    public static final Property<byte[]> BINARY_COLUMN = new Property<byte[]>("binaryColumn");
-    public static final Property<byte[]> BLOB_COLUMN = new Property<byte[]>("blobColumn");
-    public static final Property<byte[]> LONGVARBINARY_COLUMN = new Property<byte[]>("longvarbinaryColumn");
-    public static final Property<byte[]> VARBINARY_COLUMN = new Property<byte[]>("varbinaryColumn");
-
-    public void setBinaryColumn(byte[] binaryColumn) {
-        writeProperty("binaryColumn", binaryColumn);
-    }
-    public byte[] getBinaryColumn() {
-        return (byte[])readProperty("binaryColumn");
-    }
-
-    public void setBlobColumn(byte[] blobColumn) {
-        writeProperty("blobColumn", blobColumn);
-    }
-    public byte[] getBlobColumn() {
-        return (byte[])readProperty("blobColumn");
-    }
-
-    public void setLongvarbinaryColumn(byte[] longvarbinaryColumn) {
-        writeProperty("longvarbinaryColumn", longvarbinaryColumn);
-    }
-    public byte[] getLongvarbinaryColumn() {
-        return (byte[])readProperty("longvarbinaryColumn");
-    }
-
-    public void setVarbinaryColumn(byte[] varbinaryColumn) {
-        writeProperty("varbinaryColumn", varbinaryColumn);
-    }
-    public byte[] getVarbinaryColumn() {
-        return (byte[])readProperty("varbinaryColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
deleted file mode 100644
index 2baa1ca..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ReturnTypesMapLobs1 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 _ReturnTypesMapLobs1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
-
-    public static final String AAAID_PK_COLUMN = "AAAID";
-
-    public static final Property<String> CLOB_COLUMN = new Property<String>("clobColumn");
-
-    public void setClobColumn(String clobColumn) {
-        writeProperty("clobColumn", clobColumn);
-    }
-    public String getClobColumn() {
-        return (String)readProperty("clobColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java
deleted file mode 100644
index 8196250..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.MockSerializable;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _SerializableEntity 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 _SerializableEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String SERIALIZABLE_FIELD_PROPERTY = "serializableField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<MockSerializable> SERIALIZABLE_FIELD = new Property<MockSerializable>("serializableField");
-
-    public void setSerializableField(MockSerializable serializableField) {
-        writeProperty("serializableField", serializableField);
-    }
-    public MockSerializable getSerializableField() {
-        return (MockSerializable)readProperty("serializableField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java
deleted file mode 100644
index f4c38d7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _SmallintTestEntity 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 _SmallintTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String SMALLINT_COL_PROPERTY = "smallintCol";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Short> SMALLINT_COL = new Property<Short>("smallintCol");
-
-    public void setSmallintCol(Short smallintCol) {
-        writeProperty("smallintCol", smallintCol);
-    }
-    public Short getSmallintCol() {
-        return (Short)readProperty("smallintCol");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java
deleted file mode 100644
index 67365db..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.Box;
-
-/**
- * Class _Thing 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 _Thing extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String VOLUME_PROPERTY = "volume";
-    @Deprecated
-    public static final String WEIGHT_PROPERTY = "weight";
-    @Deprecated
-    public static final String BALL_PROPERTY = "ball";
-    @Deprecated
-    public static final String BOX_PROPERTY = "box";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> VOLUME = new Property<Integer>("volume");
-    public static final Property<Integer> WEIGHT = new Property<Integer>("weight");
-    public static final Property<Ball> BALL = new Property<Ball>("ball");
-    public static final Property<List<Box>> BOX = new Property<List<Box>>("box");
-
-    public void setVolume(Integer volume) {
-        writeProperty("volume", volume);
-    }
-    public Integer getVolume() {
-        return (Integer)readProperty("volume");
-    }
-
-    public void setWeight(Integer weight) {
-        writeProperty("weight", weight);
-    }
-    public Integer getWeight() {
-        return (Integer)readProperty("weight");
-    }
-
-    public void setBall(Ball ball) {
-        setToOneTarget("ball", ball, true);
-    }
-
-    public Ball getBall() {
-        return (Ball)readProperty("ball");
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<Box> getBox() {
-        return (List<Box>)readProperty("box");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java
deleted file mode 100644
index 544b1d8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _TinyintTestEntity 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 _TinyintTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String TINYINT_COL_PROPERTY = "tinyintCol";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Byte> TINYINT_COL = new Property<Byte>("tinyintCol");
-
-    public void setTinyintCol(Byte tinyintCol) {
-        writeProperty("tinyintCol", tinyintCol);
-    }
-    public Byte getTinyintCol() {
-        return (Byte)readProperty("tinyintCol");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java
deleted file mode 100644
index c217b3c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.UUID;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _UuidPkEntity 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 _UuidPkEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ID_PROPERTY = "id";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<UUID> ID = new Property<UUID>("id");
-
-    public void setId(UUID id) {
-        writeProperty("id", id);
-    }
-    public UUID getId() {
-        return (UUID)readProperty("id");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java
deleted file mode 100644
index a82fd3c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.UUID;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _UuidTestEntity 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 _UuidTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String UUID_PROPERTY = "uuid";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<UUID> UUID = new Property<UUID>("uuid");
-
-    public void setUuid(UUID uuid) {
-        writeProperty("uuid", uuid);
-    }
-    public UUID getUuid() {
-        return (UUID)readProperty("uuid");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java
new file mode 100644
index 0000000..9fac0db
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.things;
+
+import org.apache.cayenne.testdo.things.auto._Bag;
+
+public class Bag extends _Bag {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java
new file mode 100644
index 0000000..304399c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.things;
+
+import org.apache.cayenne.testdo.things.auto._Ball;
+
+public class Ball extends _Ball {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.java
new file mode 100644
index 0000000..1157583
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.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.things;
+
+import org.apache.cayenne.testdo.things.auto._Box;
+
+public class Box extends _Box {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.java
new file mode 100644
index 0000000..d49472d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.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.things;
+
+import org.apache.cayenne.testdo.things.auto._BoxInfo;
+
+public class BoxInfo extends _BoxInfo {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.java
new file mode 100644
index 0000000..cf016e9
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.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.things;
+
+import org.apache.cayenne.testdo.things.auto._Thing;
+
+public class Thing extends _Thing {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java
new file mode 100644
index 0000000..88b7319
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java
@@ -0,0 +1,68 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.Box;
+import org.apache.cayenne.testdo.things.Thing;
+
+/**
+ * Class _Bag 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 _Bag extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String BALLS_PROPERTY = "balls";
+    @Deprecated
+    public static final String BOXES_PROPERTY = "boxes";
+    @Deprecated
+    public static final String THINGS_PROPERTY = "things";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
+    public static final Property<List<Box>> BOXES = new Property<List<Box>>("boxes");
+    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    @SuppressWarnings("unchecked")
+    public List<Ball> getBalls() {
+        return (List<Ball>)readProperty("balls");
+    }
+
+
+    public void addToBoxes(Box obj) {
+        addToManyTarget("boxes", obj, true);
+    }
+    public void removeFromBoxes(Box obj) {
+        removeToManyTarget("boxes", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Box> getBoxes() {
+        return (List<Box>)readProperty("boxes");
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<Thing> getThings() {
+        return (List<Thing>)readProperty("things");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java
new file mode 100644
index 0000000..61321b2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java
@@ -0,0 +1,66 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Box;
+import org.apache.cayenne.testdo.things.Thing;
+
+/**
+ * Class _Ball 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 _Ball extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String THING_VOLUME_PROPERTY = "thingVolume";
+    @Deprecated
+    public static final String THING_WEIGHT_PROPERTY = "thingWeight";
+    @Deprecated
+    public static final String BOX_PROPERTY = "box";
+    @Deprecated
+    public static final String THING_PROPERTY = "thing";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> THING_VOLUME = new Property<Integer>("thingVolume");
+    public static final Property<Integer> THING_WEIGHT = new Property<Integer>("thingWeight");
+    public static final Property<Box> BOX = new Property<Box>("box");
+    public static final Property<Thing> THING = new Property<Thing>("thing");
+
+    public void setThingVolume(Integer thingVolume) {
+        writeProperty("thingVolume", thingVolume);
+    }
+    public Integer getThingVolume() {
+        return (Integer)readProperty("thingVolume");
+    }
+
+    public void setThingWeight(Integer thingWeight) {
+        writeProperty("thingWeight", thingWeight);
+    }
+    public Integer getThingWeight() {
+        return (Integer)readProperty("thingWeight");
+    }
+
+    public void setBox(Box box) {
+        setToOneTarget("box", box, true);
+    }
+
+    public Box getBox() {
+        return (Box)readProperty("box");
+    }
+
+
+    public void setThing(Thing thing) {
+        setToOneTarget("thing", thing, true);
+    }
+
+    public Thing getThing() {
+        return (Thing)readProperty("thing");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java
new file mode 100644
index 0000000..8da6b32
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java
@@ -0,0 +1,84 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Bag;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.BoxInfo;
+import org.apache.cayenne.testdo.things.Thing;
+
+/**
+ * Class _Box 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 _Box extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String BAG_PROPERTY = "bag";
+    @Deprecated
+    public static final String BALLS_PROPERTY = "balls";
+    @Deprecated
+    public static final String BOX_INFO_PROPERTY = "boxInfo";
+    @Deprecated
+    public static final String THINGS_PROPERTY = "things";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<Bag> BAG = new Property<Bag>("bag");
+    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
+    public static final Property<BoxInfo> BOX_INFO = new Property<BoxInfo>("boxInfo");
+    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setBag(Bag bag) {
+        setToOneTarget("bag", bag, true);
+    }
+
+    public Bag getBag() {
+        return (Bag)readProperty("bag");
+    }
+
+
+    public void addToBalls(Ball obj) {
+        addToManyTarget("balls", obj, true);
+    }
+    public void removeFromBalls(Ball obj) {
+        removeToManyTarget("balls", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Ball> getBalls() {
+        return (List<Ball>)readProperty("balls");
+    }
+
+
+    public void setBoxInfo(BoxInfo boxInfo) {
+        setToOneTarget("boxInfo", boxInfo, true);
+    }
+
+    public BoxInfo getBoxInfo() {
+        return (BoxInfo)readProperty("boxInfo");
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<Thing> getThings() {
+        return (List<Thing>)readProperty("things");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java
new file mode 100644
index 0000000..8d37e3b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Box;
+
+/**
+ * Class _BoxInfo 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 _BoxInfo extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String COLOR_PROPERTY = "color";
+    @Deprecated
+    public static final String BOX_PROPERTY = "box";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> COLOR = new Property<String>("color");
+    public static final Property<Box> BOX = new Property<Box>("box");
+
+    public void setColor(String color) {
+        writeProperty("color", color);
+    }
+    public String getColor() {
+        return (String)readProperty("color");
+    }
+
+    public void setBox(Box box) {
+        setToOneTarget("box", box, true);
+    }
+
+    public Box getBox() {
+        return (Box)readProperty("box");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java
new file mode 100644
index 0000000..5b604b8
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java
@@ -0,0 +1,65 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.Box;
+
+/**
+ * Class _Thing 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 _Thing extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String VOLUME_PROPERTY = "volume";
+    @Deprecated
+    public static final String WEIGHT_PROPERTY = "weight";
+    @Deprecated
+    public static final String BALL_PROPERTY = "ball";
+    @Deprecated
+    public static final String BOX_PROPERTY = "box";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> VOLUME = new Property<Integer>("volume");
+    public static final Property<Integer> WEIGHT = new Property<Integer>("weight");
+    public static final Property<Ball> BALL = new Property<Ball>("ball");
+    public static final Property<List<Box>> BOX = new Property<List<Box>>("box");
+
+    public void setVolume(Integer volume) {
+        writeProperty("volume", volume);
+    }
+    public Integer getVolume() {
+        return (Integer)readProperty("volume");
+    }
+
+    public void setWeight(Integer weight) {
+        writeProperty("weight", weight);
+    }
+    public Integer getWeight() {
+        return (Integer)readProperty("weight");
+    }
+
+    public void setBall(Ball ball) {
+        setToOneTarget("ball", ball, true);
+    }
+
+    public Ball getBall() {
+        return (Ball)readProperty("ball");
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<Box> getBox() {
+        return (List<Box>)readProperty("box");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.java
new file mode 100644
index 0000000..79c2fe7
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.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.uuid;
+
+import org.apache.cayenne.testdo.uuid.auto._UuidPkEntity;
+
+public class UuidPkEntity extends _UuidPkEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.java
new file mode 100644
index 0000000..929df68
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.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.uuid;
+
+import org.apache.cayenne.testdo.uuid.auto._UuidTestEntity;
+
+public class UuidTestEntity extends _UuidTestEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java
new file mode 100644
index 0000000..492c380
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.uuid.auto;
+
+import java.util.UUID;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _UuidPkEntity 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 _UuidPkEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ID_PROPERTY = "id";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<UUID> ID = new Property<UUID>("id");
+
+    public void setId(UUID id) {
+        writeProperty("id", id);
+    }
+    public UUID getId() {
+        return (UUID)readProperty("id");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java
new file mode 100644
index 0000000..82315b4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.uuid.auto;
+
+import java.util.UUID;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _UuidTestEntity 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 _UuidTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String UUID_PROPERTY = "uuid";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<UUID> UUID = new Property<UUID>("uuid");
+
+    public void setUuid(UUID uuid) {
+        writeProperty("uuid", uuid);
+    }
+    public UUID getUuid() {
+        return (UUID)readProperty("uuid");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
index d99e602..10ae06c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
@@ -19,11 +19,11 @@
 
 package org.apache.cayenne.unit;
 
-import java.sql.Connection;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.map.DataMap;
 
+import java.sql.Connection;
+
 public class HSQLDBUnitDbAdapter extends UnitDbAdapter {
 
     public HSQLDBUnitDbAdapter(DbAdapter adapter) {
@@ -52,7 +52,7 @@ public class HSQLDBUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "hsqldb", "create-sp-aliases.sql");
         }
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
index 7308c01..61d7cbb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
@@ -19,15 +19,15 @@
 
 package org.apache.cayenne.unit;
 
-import java.sql.Connection;
-import java.util.Arrays;
-import java.util.Collection;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.Procedure;
 
+import java.sql.Connection;
+import java.util.Arrays;
+import java.util.Collection;
+
 /**
  */
 public class MySQLUnitDbAdapter extends UnitDbAdapter {
@@ -91,7 +91,7 @@ public class MySQLUnitDbAdapter extends UnitDbAdapter {
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
 
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "mysql", "create-select-sp.sql");
             executeDDL(con, "mysql", "create-update-sp.sql");
             executeDDL(con, "mysql", "create-update-sp2.sql");
@@ -105,7 +105,7 @@ public class MySQLUnitDbAdapter extends UnitDbAdapter {
             DataMap map,
             Collection<String> tablesToDrop) throws Exception {
 
-        Procedure proc = map.getProcedure("cayenne_tst_select_proc");
+        Procedure proc = map.getProcedure("cayenne_test_select_proc");
         if (proc != null && proc.getDataMap() == map) {
             executeDDL(conn, "mysql", "drop-select-sp.sql");
             executeDDL(conn, "mysql", "drop-update-sp.sql");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
index f0ebb94..38dcee2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
@@ -80,7 +80,7 @@ public class OracleUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "oracle", "create-types-pkg.sql");
             executeDDL(con, "oracle", "create-select-sp.sql");
             executeDDL(con, "oracle", "create-update-sp.sql");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
index c6a14ae..794f799 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
@@ -19,12 +19,12 @@
 
 package org.apache.cayenne.unit;
 
-import java.sql.Connection;
-import java.util.Collection;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.map.DataMap;
 
+import java.sql.Connection;
+import java.util.Collection;
+
 public class PostgresUnitDbAdapter extends UnitDbAdapter {
 
     public PostgresUnitDbAdapter(DbAdapter adapter) {
@@ -54,7 +54,7 @@ public class PostgresUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "postgresql", "create-select-sp.sql");
             executeDDL(con, "postgresql", "create-update-sp.sql");
             executeDDL(con, "postgresql", "create-update-sp2.sql");


[03/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/testmap.map.xml b/cayenne-server/src/test/resources/testmap.map.xml
new file mode 100644
index 0000000..52a8a67
--- /dev/null
+++ b/cayenne-server/src/test/resources/testmap.map.xml
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+	 project-version="7">
+	<property name="defaultPackage" value="org.apache.cayenne.testdo.testmap"/>
+	<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+	<property name="clientSupported" value="true"/>
+	<property name="defaultClientPackage" value="test.client"/>
+	<property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+	<procedure name="cayenne_test_out_proc">
+		<procedure-parameter name="in_param" type="INTEGER" direction="in"/>
+		<procedure-parameter name="out_param" type="INTEGER" direction="out"/>
+	</procedure>
+	<procedure name="cayenne_test_select_proc">
+		<procedure-parameter name="aName" type="VARCHAR" length="254" direction="in"/>
+		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
+	</procedure>
+	<procedure name="cayenne_test_upd_proc">
+		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
+	</procedure>Ï
+	<procedure name="cayenne_test_upd_proc2">
+	</procedure>
+	<db-entity name="ARTGROUP">
+		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+		<db-attribute name="PARENT_GROUP_ID" type="INTEGER"/>
+	</db-entity>
+	<db-entity name="ARTIST">
+		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
+		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
+	</db-entity>
+	<db-entity name="ARTIST_CT">
+		<db-attribute name="ARTIST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
+		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
+	</db-entity>
+	<db-entity name="ARTIST_EXHIBIT">
+		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+	</db-entity>
+	<db-entity name="ARTIST_GROUP">
+		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+	</db-entity>
+	<db-entity name="EXHIBIT">
+		<db-attribute name="CLOSING_DATE" type="TIMESTAMP" isMandatory="true"/>
+		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="GALLERY_ID" type="INTEGER" isMandatory="true"/>
+		<db-attribute name="OPENING_DATE" type="TIMESTAMP" isMandatory="true"/>
+	</db-entity>
+	<db-entity name="GALLERY">
+		<db-attribute name="GALLERY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="GALLERY_NAME" type="VARCHAR" isMandatory="true" length="100"/>
+	</db-entity>
+	<db-entity name="GENERATED_COLUMN">
+		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" length="250"/>
+	</db-entity>
+	<db-entity name="NULL_TEST">
+		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" length="100"/>
+	</db-entity>
+	<db-entity name="PAINTING">
+		<db-attribute name="ARTIST_ID" type="BIGINT"/>
+		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
+		<db-attribute name="GALLERY_ID" type="INTEGER"/>
+		<db-attribute name="PAINTING_DESCRIPTION" type="VARCHAR" length="255"/>
+		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
+	</db-entity>
+	<db-entity name="PAINTING1">
+		<db-attribute name="ARTIST_ID" type="BIGINT"/>
+		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
+		<db-attribute name="GALLERY_ID" type="INTEGER"/>
+		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
+	</db-entity>
+	<db-entity name="PAINTING_INFO">
+		<db-attribute name="IMAGE_BLOB" type="LONGVARBINARY"/>
+		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="TEXT_REVIEW" type="LONGVARCHAR"/>
+	</db-entity>
+	<obj-entity name="ArtGroup" className="org.apache.cayenne.testdo.testmap.ArtGroup" dbEntityName="ARTGROUP">
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<obj-entity name="Artist" className="org.apache.cayenne.testdo.testmap.Artist" dbEntityName="ARTIST">
+		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
+		<obj-attribute name="dateOfBirth" type="java.util.Date" db-attribute-path="DATE_OF_BIRTH"/>
+	</obj-entity>
+	<obj-entity name="ArtistCallback" className="org.apache.cayenne.testdo.testmap.ArtistCallback" dbEntityName="ARTIST_CT" exclude-superclass-listeners="true" exclude-default-listeners="true">
+		<obj-attribute name="artistName" type="java.lang.String"/>
+		<obj-attribute name="dateOfBirth" type="java.util.Date"/>
+		<post-add method-name="prePersistEntityObjEntity"/>
+		<post-persist method-name="postPersistEntityObjEntity"/>
+		<pre-update method-name="preUpdateEntityObjEntity"/>
+		<post-update method-name="postUpdateEntityObjEntity"/>
+		<pre-remove method-name="preRemoveEntityObjEntity"/>
+		<post-remove method-name="postRemoveEntityObjEntity"/>
+		<post-load method-name="postLoadEntityObjEntity"/>
+	</obj-entity>
+	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
+	</obj-entity>
+	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
+		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="CompoundPaintingLongNames" className="org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames" clientClassName="test.client.CompoundPaintingLongNames" dbEntityName="PAINTING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+		<obj-attribute name="artistLongName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="galleryLongName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
+		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+		<obj-attribute name="textLongReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
+		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
+		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
+	</obj-entity>
+	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
+		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
+	</obj-entity>
+	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN">
+		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<obj-entity name="NullTestEntity" className="org.apache.cayenne.testdo.testmap.NullTestEntity" dbEntityName="NULL_TEST">
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<obj-entity name="Painting1" className="org.apache.cayenne.testdo.testmap.Painting1" dbEntityName="PAINTING1">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<obj-entity name="PaintingInfo" className="org.apache.cayenne.testdo.testmap.PaintingInfo" dbEntityName="PAINTING_INFO">
+		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
+		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="ROArtist" className="org.apache.cayenne.testdo.testmap.ROArtist" readOnly="true" dbEntityName="ARTIST">
+		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
+		<obj-attribute name="dateOfBirth" type="java.sql.Date" db-attribute-path="DATE_OF_BIRTH"/>
+	</obj-entity>
+	<obj-entity name="ROPainting" className="org.apache.cayenne.testdo.testmap.ROPainting" readOnly="true" dbEntityName="PAINTING">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<obj-entity name="RWCompoundPainting" className="org.apache.cayenne.testdo.testmap.RWCompoundPainting" dbEntityName="PAINTING">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">
+		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="toChildGroups" source="ARTGROUP" target="ARTGROUP" toMany="true">
+		<db-attribute-pair source="GROUP_ID" target="PARENT_GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="toParentGroup" source="ARTGROUP" target="ARTGROUP" toMany="false">
+		<db-attribute-pair source="PARENT_GROUP_ID" target="GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="artistExhibitArray" source="ARTIST" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="artistGroupArray" source="ARTIST" target="ARTIST_GROUP" toMany="true">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="paintingArray" source="ARTIST" target="PAINTING" toMany="true">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="ARTIST_EXHIBIT" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toExhibit" source="ARTIST_EXHIBIT" target="EXHIBIT" toMany="false">
+		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="ARTIST_GROUP" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toGroup" source="ARTIST_GROUP" target="ARTGROUP" toMany="false">
+		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="artistExhibitArray" source="EXHIBIT" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
+		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
+	</db-relationship>
+	<db-relationship name="toGallery" source="EXHIBIT" target="GALLERY" toMany="false">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="exhibitArray" source="GALLERY" target="EXHIBIT" toMany="true">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="paintingArray" source="GALLERY" target="PAINTING" toMany="true">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="PAINTING" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toGallery" source="PAINTING" target="GALLERY" toMany="false">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="toPaintingInfo" source="PAINTING" target="PAINTING_INFO" toDependentPK="true" toMany="false">
+		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="PAINTING1" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="painting" source="PAINTING_INFO" target="PAINTING" toMany="false">
+		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
+	</db-relationship>
+	<obj-relationship name="artistArray" source="ArtGroup" target="Artist" deleteRule="Nullify" db-relationship-path="artistGroupArray.toArtist"/>
+	<obj-relationship name="childGroupsArray" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toChildGroups"/>
+	<obj-relationship name="toParentGroup" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toParentGroup"/>
+	<obj-relationship name="artistExhibitArray" source="Artist" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
+	<obj-relationship name="groupArray" source="Artist" target="ArtGroup" deleteRule="Cascade" db-relationship-path="artistGroupArray.toGroup"/>
+	<obj-relationship name="paintingArray" source="Artist" target="Painting" deleteRule="Cascade" db-relationship-path="paintingArray"/>
+	<obj-relationship name="toArtist" source="ArtistExhibit" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toExhibit" source="ArtistExhibit" target="Exhibit" deleteRule="Nullify" db-relationship-path="toExhibit"/>
+	<obj-relationship name="toArtist" source="CompoundPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toGallery" source="CompoundPainting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="toPaintingInfo" source="CompoundPainting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
+	<obj-relationship name="toArtist" source="CompoundPaintingLongNames" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toArtist1" source="CompoundPaintingLongNames" target="ROArtist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toGallery" source="CompoundPaintingLongNames" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="toPaintingInfo" source="CompoundPaintingLongNames" target="PaintingInfo" deleteRule="Nullify" db-relationship-path="toPaintingInfo"/>
+	<obj-relationship name="artistExhibitArray" source="Exhibit" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
+	<obj-relationship name="toGallery" source="Exhibit" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="exhibitArray" source="Gallery" target="Exhibit" deleteRule="Cascade" db-relationship-path="exhibitArray"/>
+	<obj-relationship name="paintingArray" source="Gallery" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
+	<obj-relationship name="toArtist" source="Painting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toGallery" source="Painting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="toPaintingInfo" source="Painting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
+	<obj-relationship name="toArtist" source="Painting1" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="painting" source="PaintingInfo" target="Painting" deleteRule="Nullify" db-relationship-path="painting"/>
+	<obj-relationship name="paintingArray" source="ROArtist" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
+	<obj-relationship name="toArtist" source="ROPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<query name="EjbqlQueryTest" factory="org.apache.cayenne.map.EjbqlBuilder">
+		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
+		<ejbql><![CDATA[select a from Artist a]]></ejbql>
+	</query>
+	<query name="NonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
+VALUES (512, 'No Painting Like This', 12.5)]]></sql>
+		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) VALUES (512, 'No Painting Like This', 12.5)]]></sql>
+	</query>
+	<query name="ObjectQuery" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Painting">
+		<qualifier><![CDATA[toArtist = $artist]]></qualifier>
+		<ordering><![CDATA[paintingTitle]]></ordering>
+	</query>
+	<query name="ParameterizedNonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
+VALUES (#bind($id), #bind($title), #bind($price))]]></sql>
+		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) values (#bind($id), #bind($title), #bind($price))]]></sql>
+	</query>
+	<query name="ParameterizedQueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
+		<qualifier><![CDATA[artistName like $name]]></qualifier>
+	</query>
+	<query name="ParameterizedQueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
+		<qualifier><![CDATA[artistName like $name]]></qualifier>
+	</query>
+	<query name="ProcedureQuery" factory="org.apache.cayenne.map.ProcedureQueryBuilder" root="procedure" root-name="cayenne_test_select_proc" result-entity="Artist">
+	</query>
+	<query name="QueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
+	</query>
+	<query name="QueryWithOrdering" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<ordering descending="true" ignore-case="true"><![CDATA[artistName]]></ordering>
+		<ordering><![CDATA[dateOfBirth]]></ordering>
+	</query>
+	<query name="QueryWithPrefetch" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Gallery">
+		<prefetch>paintingArray</prefetch>
+	</query>
+	<query name="QueryWithQualifier" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<qualifier><![CDATA[artistName = $param1]]></qualifier>
+	</query>
+	<query name="QueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
+	</query>
+	<query name="SelectTestLower" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="LOWER"/>
+		<sql><![CDATA[select * from ARTIST]]></sql>
+	</query>
+	<query name="SelectTestUpper" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+		<sql><![CDATA[select * from ARTIST]]></sql>
+	</query>
+</data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/things.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/things.map.xml b/cayenne-server/src/test/resources/things.map.xml
new file mode 100644
index 0000000..8cbe47c
--- /dev/null
+++ b/cayenne-server/src/test/resources/things.map.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.things"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BAG">
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="BALL">
+        <db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
+        <db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BOX">
+        <db-attribute name="BAG_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="BOX_INFO">
+        <db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="COLOR" type="VARCHAR" isMandatory="true" length="200"/>
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BOX_THING">
+        <db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
+        <db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="THING">
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="VOLUME" type="INTEGER" isMandatory="true"/>
+        <db-attribute name="WEIGHT" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="Bag" className="org.apache.cayenne.testdo.things.Bag" clientClassName="test.client.Bag" dbEntityName="BAG" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="Ball" className="org.apache.cayenne.testdo.things.Ball" clientClassName="test.client.Ball" dbEntityName="BALL" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="thingVolume" type="java.lang.Integer" db-attribute-path="THING_VOLUME"/>
+        <obj-attribute name="thingWeight" type="java.lang.Integer" db-attribute-path="THING_WEIGHT"/>
+    </obj-entity>
+    <obj-entity name="Box" className="org.apache.cayenne.testdo.things.Box" clientClassName="test.client.Box" dbEntityName="BOX" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="BoxInfo" className="org.apache.cayenne.testdo.things.BoxInfo" clientClassName="test.client.BoxInfo" dbEntityName="BOX_INFO" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="color" type="java.lang.String" db-attribute-path="COLOR"/>
+    </obj-entity>
+    <obj-entity name="Thing" className="org.apache.cayenne.testdo.things.Thing" clientClassName="test.client.Thing" dbEntityName="THING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="volume" type="java.lang.Integer" db-attribute-path="VOLUME"/>
+        <obj-attribute name="weight" type="java.lang.Integer" db-attribute-path="WEIGHT"/>
+    </obj-entity>
+    <db-relationship name="BOXES" source="BAG" target="BOX" toMany="true">
+        <db-attribute-pair source="ID" target="BAG_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX" source="BALL" target="BOX" toMany="false">
+        <db-attribute-pair source="BOX_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="THING" source="BALL" target="THING" toMany="false">
+        <db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
+        <db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
+    </db-relationship>
+    <db-relationship name="BAG" source="BOX" target="BAG" toMany="false">
+        <db-attribute-pair source="BAG_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="BALLS" source="BOX" target="BALL" toMany="true">
+        <db-attribute-pair source="ID" target="BOX_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX_INFO" source="BOX" target="BOX_INFO" toMany="false">
+        <db-attribute-pair source="ID" target="BOX_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX_THING" source="BOX" target="BOX_THING" toMany="true">
+        <db-attribute-pair source="ID" target="BOX_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX" source="BOX_INFO" target="BOX" toMany="false">
+        <db-attribute-pair source="BOX_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="BOX" source="BOX_THING" target="BOX" toMany="false">
+        <db-attribute-pair source="BOX_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="THING" source="BOX_THING" target="THING" toMany="false">
+        <db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
+        <db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
+    </db-relationship>
+    <db-relationship name="BALL" source="THING" target="BALL" toMany="false">
+        <db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
+        <db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
+    </db-relationship>
+    <db-relationship name="BOX_THING" source="THING" target="BOX_THING" toMany="true">
+        <db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
+        <db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
+    </db-relationship>
+    <obj-relationship name="balls" source="Bag" target="Ball" deleteRule="Deny" db-relationship-path="BOXES.BALLS"/>
+    <obj-relationship name="boxes" source="Bag" target="Box" deleteRule="Deny" db-relationship-path="BOXES"/>
+    <obj-relationship name="things" source="Bag" target="Thing" deleteRule="Deny" db-relationship-path="BOXES.BOX_THING.THING"/>
+    <obj-relationship name="box" source="Ball" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
+    <obj-relationship name="thing" source="Ball" target="Thing" deleteRule="Nullify" db-relationship-path="THING"/>
+    <obj-relationship name="bag" source="Box" target="Bag" deleteRule="Nullify" db-relationship-path="BAG"/>
+    <obj-relationship name="balls" source="Box" target="Ball" deleteRule="Deny" db-relationship-path="BALLS"/>
+    <obj-relationship name="boxInfo" source="Box" target="BoxInfo" deleteRule="Deny" db-relationship-path="BOX_INFO"/>
+    <obj-relationship name="things" source="Box" target="Thing" deleteRule="Deny" db-relationship-path="BOX_THING.THING"/>
+    <obj-relationship name="box" source="BoxInfo" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
+    <obj-relationship name="ball" source="Thing" target="Ball" deleteRule="Nullify" db-relationship-path="BALL"/>
+    <obj-relationship name="box" source="Thing" target="Box" deleteRule="Deny" db-relationship-path="BOX_THING.BOX"/>
+</data-map>
\ No newline at end of file


[06/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java
deleted file mode 100644
index 520d137..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnTestEntity;
-
-public class GeneratedColumnTestEntity extends _GeneratedColumnTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.java
deleted file mode 100644
index 03a7a26..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedF1;
-
-public class GeneratedF1 extends _GeneratedF1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.java
deleted file mode 100644
index d64e5bd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedF2;
-
-public class GeneratedF2 extends _GeneratedF2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java
deleted file mode 100644
index e7f7c4d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._LongEntity;
-
-public class LongEntity extends _LongEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java
deleted file mode 100644
index a4fc275..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java
+++ /dev/null
@@ -1,24 +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.testmap;
-
-public class MeaningfulPKDep extends org.apache.cayenne.testdo.testmap.auto._MeaningfulPKDep {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java
deleted file mode 100644
index 33fddbd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java
+++ /dev/null
@@ -1,24 +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.testmap;
-
-public class MeaningfulPKTest1 extends org.apache.cayenne.testdo.testmap.auto._MeaningfulPKTest1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java
deleted file mode 100644
index 32a2ec9..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java
+++ /dev/null
@@ -1,35 +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.testmap;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.cayenne.testdo.testmap.auto._MixedPersistenceStrategy;
-
-public class MixedPersistenceStrategy extends _MixedPersistenceStrategy {
-
-    // a private variable that intentionally mirrors the name of the persistent property
-    // to create a "conflict"
-    private List details = new ArrayList();
-    
-    public List getIvarDetails() {
-        return details;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.java
deleted file mode 100644
index 4049fd0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._MixedPersistenceStrategy2;
-
-public class MixedPersistenceStrategy2 extends _MixedPersistenceStrategy2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java
deleted file mode 100644
index a390b27..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._NoPkTestEntity;
-
-public class NoPkTestEntity extends _NoPkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.java
deleted file mode 100644
index b24fce8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._PrimitivesTestEntity;
-
-public class PrimitivesTestEntity extends _PrimitivesTestEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.java
deleted file mode 100644
index 60c0609..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ReturnTypesMap1;
-
-public class ReturnTypesMap1 extends _ReturnTypesMap1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.java
deleted file mode 100644
index bfd8706..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ReturnTypesMap2;
-
-public class ReturnTypesMap2 extends _ReturnTypesMap2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
deleted file mode 100644
index 2aaacd7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ReturnTypesMapLobs1;
-
-public class ReturnTypesMapLobs1 extends _ReturnTypesMapLobs1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java
deleted file mode 100644
index 4e93149..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._SerializableEntity;
-
-public class SerializableEntity extends _SerializableEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java
deleted file mode 100644
index 8f2273b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._SmallintTestEntity;
-
-public class SmallintTestEntity extends _SmallintTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java
deleted file mode 100644
index 476790d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java
+++ /dev/null
@@ -1,35 +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.testmap;
-
-/**
- * A test extended type.
- */
-public class StringET1 {
-
-    protected String string;
-
-    public StringET1(String string) {
-        this.string = string;
-    }
-
-    public String getString() {
-        return string;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java
deleted file mode 100644
index f4338e2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java
+++ /dev/null
@@ -1,62 +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.testmap;
-
-import java.sql.CallableStatement;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-
-import org.apache.cayenne.access.types.ExtendedType;
-
-public class StringET1ExtendedType implements ExtendedType {
-
-    @Override
-    public String getClassName() {
-        return StringET1.class.getName();
-    }
-
-    @Override
-    public Object materializeObject(ResultSet rs, int index, int type) throws Exception {
-        String string = rs.getString(index);
-        return string != null ? new StringET1(string) : null;
-    }
-
-    @Override
-    public Object materializeObject(CallableStatement rs, int index, int type)
-            throws Exception {
-        String string = rs.getString(index);
-        return string != null ? new StringET1(string) : null;
-    }
-
-    @Override
-    public void setJdbcObject(
-            PreparedStatement statement,
-            Object value,
-            int pos,
-            int type,
-            int precision) throws Exception {
-
-        if (value instanceof StringET1) {
-            statement.setString(pos, ((StringET1) value).getString());
-        }
-        else {
-            statement.setNull(pos, type);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.java
deleted file mode 100644
index 1fa4967..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Thing;
-
-public class Thing extends _Thing {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java
deleted file mode 100644
index 817a324..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._TinyintTestEntity;
-
-public class TinyintTestEntity extends _TinyintTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.java
deleted file mode 100644
index 1fbfb7e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._UuidPkEntity;
-
-public class UuidPkEntity extends _UuidPkEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.java
deleted file mode 100644
index 3ded534..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._UuidTestEntity;
-
-public class UuidTestEntity extends _UuidTestEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java
deleted file mode 100644
index 7a186f7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ArraysEntity 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 _ArraysEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BYTE_ARRAY_PROPERTY = "byteArray";
-    @Deprecated
-    public static final String BYTE_WRAPPER_ARRAY_PROPERTY = "byteWrapperArray";
-    @Deprecated
-    public static final String CHAR_ARRAY_PROPERTY = "charArray";
-    @Deprecated
-    public static final String CHAR_WRAPPER_ARRAY_PROPERTY = "charWrapperArray";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<byte[]> BYTE_ARRAY = new Property<byte[]>("byteArray");
-    public static final Property<Byte[]> BYTE_WRAPPER_ARRAY = new Property<Byte[]>("byteWrapperArray");
-    public static final Property<char[]> CHAR_ARRAY = new Property<char[]>("charArray");
-    public static final Property<Character[]> CHAR_WRAPPER_ARRAY = new Property<Character[]>("charWrapperArray");
-
-    public void setByteArray(byte[] byteArray) {
-        writeProperty("byteArray", byteArray);
-    }
-    public byte[] getByteArray() {
-        return (byte[])readProperty("byteArray");
-    }
-
-    public void setByteWrapperArray(Byte[] byteWrapperArray) {
-        writeProperty("byteWrapperArray", byteWrapperArray);
-    }
-    public Byte[] getByteWrapperArray() {
-        return (Byte[])readProperty("byteWrapperArray");
-    }
-
-    public void setCharArray(char[] charArray) {
-        writeProperty("charArray", charArray);
-    }
-    public char[] getCharArray() {
-        return (char[])readProperty("charArray");
-    }
-
-    public void setCharWrapperArray(Character[] charWrapperArray) {
-        writeProperty("charWrapperArray", charWrapperArray);
-    }
-    public Character[] getCharWrapperArray() {
-        return (Character[])readProperty("charWrapperArray");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java
deleted file mode 100644
index e392a37..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.Box;
-import org.apache.cayenne.testdo.testmap.Thing;
-
-/**
- * Class _Bag 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 _Bag extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String BALLS_PROPERTY = "balls";
-    @Deprecated
-    public static final String BOXES_PROPERTY = "boxes";
-    @Deprecated
-    public static final String THINGS_PROPERTY = "things";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
-    public static final Property<List<Box>> BOXES = new Property<List<Box>>("boxes");
-    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    @SuppressWarnings("unchecked")
-    public List<Ball> getBalls() {
-        return (List<Ball>)readProperty("balls");
-    }
-
-
-    public void addToBoxes(Box obj) {
-        addToManyTarget("boxes", obj, true);
-    }
-    public void removeFromBoxes(Box obj) {
-        removeToManyTarget("boxes", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Box> getBoxes() {
-        return (List<Box>)readProperty("boxes");
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<Thing> getThings() {
-        return (List<Thing>)readProperty("things");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java
deleted file mode 100644
index 3dca69a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Box;
-import org.apache.cayenne.testdo.testmap.Thing;
-
-/**
- * Class _Ball 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 _Ball extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String THING_VOLUME_PROPERTY = "thingVolume";
-    @Deprecated
-    public static final String THING_WEIGHT_PROPERTY = "thingWeight";
-    @Deprecated
-    public static final String BOX_PROPERTY = "box";
-    @Deprecated
-    public static final String THING_PROPERTY = "thing";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> THING_VOLUME = new Property<Integer>("thingVolume");
-    public static final Property<Integer> THING_WEIGHT = new Property<Integer>("thingWeight");
-    public static final Property<Box> BOX = new Property<Box>("box");
-    public static final Property<Thing> THING = new Property<Thing>("thing");
-
-    public void setThingVolume(Integer thingVolume) {
-        writeProperty("thingVolume", thingVolume);
-    }
-    public Integer getThingVolume() {
-        return (Integer)readProperty("thingVolume");
-    }
-
-    public void setThingWeight(Integer thingWeight) {
-        writeProperty("thingWeight", thingWeight);
-    }
-    public Integer getThingWeight() {
-        return (Integer)readProperty("thingWeight");
-    }
-
-    public void setBox(Box box) {
-        setToOneTarget("box", box, true);
-    }
-
-    public Box getBox() {
-        return (Box)readProperty("box");
-    }
-
-
-    public void setThing(Thing thing) {
-        setToOneTarget("thing", thing, true);
-    }
-
-    public Thing getThing() {
-        return (Thing)readProperty("thing");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java
deleted file mode 100644
index bc83c95..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigDecimal;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BigDecimalEntity 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 _BigDecimalEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIG_DECIMAL_FIELD_PROPERTY = "bigDecimalField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<BigDecimal> BIG_DECIMAL_FIELD = new Property<BigDecimal>("bigDecimalField");
-
-    public void setBigDecimalField(BigDecimal bigDecimalField) {
-        writeProperty("bigDecimalField", bigDecimalField);
-    }
-    public BigDecimal getBigDecimalField() {
-        return (BigDecimal)readProperty("bigDecimalField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java
deleted file mode 100644
index f39f0f4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigInteger;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BigIntegerEntity 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 _BigIntegerEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIG_INTEGER_FIELD_PROPERTY = "bigIntegerField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<BigInteger> BIG_INTEGER_FIELD = new Property<BigInteger>("bigIntegerField");
-
-    public void setBigIntegerField(BigInteger bigIntegerField) {
-        writeProperty("bigIntegerField", bigIntegerField);
-    }
-    public BigInteger getBigIntegerField() {
-        return (BigInteger)readProperty("bigIntegerField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java
deleted file mode 100644
index 448a864..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest2;
-
-/**
- * Class _BinaryPKTest1 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 _BinaryPKTest1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String BINARY_PKDETAILS_PROPERTY = "binaryPKDetails";
-
-    public static final String BIN_ID_PK_COLUMN = "BIN_ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<BinaryPKTest2>> BINARY_PKDETAILS = new Property<List<BinaryPKTest2>>("binaryPKDetails");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToBinaryPKDetails(BinaryPKTest2 obj) {
-        addToManyTarget("binaryPKDetails", obj, true);
-    }
-    public void removeFromBinaryPKDetails(BinaryPKTest2 obj) {
-        removeToManyTarget("binaryPKDetails", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<BinaryPKTest2> getBinaryPKDetails() {
-        return (List<BinaryPKTest2>)readProperty("binaryPKDetails");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java
deleted file mode 100644
index 4bff8bd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest1;
-
-/**
- * Class _BinaryPKTest2 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 _BinaryPKTest2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DETAIL_NAME_PROPERTY = "detailName";
-    @Deprecated
-    public static final String TO_BINARY_PKMASTER_PROPERTY = "toBinaryPKMaster";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> DETAIL_NAME = new Property<String>("detailName");
-    public static final Property<BinaryPKTest1> TO_BINARY_PKMASTER = new Property<BinaryPKTest1>("toBinaryPKMaster");
-
-    public void setDetailName(String detailName) {
-        writeProperty("detailName", detailName);
-    }
-    public String getDetailName() {
-        return (String)readProperty("detailName");
-    }
-
-    public void setToBinaryPKMaster(BinaryPKTest1 toBinaryPKMaster) {
-        setToOneTarget("toBinaryPKMaster", toBinaryPKMaster, true);
-    }
-
-    public BinaryPKTest1 getToBinaryPKMaster() {
-        return (BinaryPKTest1)readProperty("toBinaryPKMaster");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java
deleted file mode 100644
index fe7c998..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BitNumberTestEntity 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 _BitNumberTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> BIT_COLUMN = new Property<Integer>("bitColumn");
-
-    public void setBitColumn(Integer bitColumn) {
-        writeProperty("bitColumn", bitColumn);
-    }
-    public Integer getBitColumn() {
-        return (Integer)readProperty("bitColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java
deleted file mode 100644
index bbc78d7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BitTestEntity 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 _BitTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
-
-    public void setBitColumn(Boolean bitColumn) {
-        writeProperty("bitColumn", bitColumn);
-    }
-    public Boolean getBitColumn() {
-        return (Boolean)readProperty("bitColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java
deleted file mode 100644
index 59d4f8c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BlobTestEntity 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 _BlobTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BLOB_COL_PROPERTY = "blobCol";
-
-    public static final String BLOB_TEST_ID_PK_COLUMN = "BLOB_TEST_ID";
-
-    public static final Property<byte[]> BLOB_COL = new Property<byte[]>("blobCol");
-
-    public void setBlobCol(byte[] blobCol) {
-        writeProperty("blobCol", blobCol);
-    }
-    public byte[] getBlobCol() {
-        return (byte[])readProperty("blobCol");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java
deleted file mode 100644
index 380505e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BooleanTestEntity 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 _BooleanTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
-
-    public void setBooleanColumn(Boolean booleanColumn) {
-        writeProperty("booleanColumn", booleanColumn);
-    }
-    public Boolean getBooleanColumn() {
-        return (Boolean)readProperty("booleanColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java
deleted file mode 100644
index bf5c24e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Bag;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.BoxInfo;
-import org.apache.cayenne.testdo.testmap.Thing;
-
-/**
- * Class _Box 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 _Box extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String BAG_PROPERTY = "bag";
-    @Deprecated
-    public static final String BALLS_PROPERTY = "balls";
-    @Deprecated
-    public static final String BOX_INFO_PROPERTY = "boxInfo";
-    @Deprecated
-    public static final String THINGS_PROPERTY = "things";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<Bag> BAG = new Property<Bag>("bag");
-    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
-    public static final Property<BoxInfo> BOX_INFO = new Property<BoxInfo>("boxInfo");
-    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setBag(Bag bag) {
-        setToOneTarget("bag", bag, true);
-    }
-
-    public Bag getBag() {
-        return (Bag)readProperty("bag");
-    }
-
-
-    public void addToBalls(Ball obj) {
-        addToManyTarget("balls", obj, true);
-    }
-    public void removeFromBalls(Ball obj) {
-        removeToManyTarget("balls", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Ball> getBalls() {
-        return (List<Ball>)readProperty("balls");
-    }
-
-
-    public void setBoxInfo(BoxInfo boxInfo) {
-        setToOneTarget("boxInfo", boxInfo, true);
-    }
-
-    public BoxInfo getBoxInfo() {
-        return (BoxInfo)readProperty("boxInfo");
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<Thing> getThings() {
-        return (List<Thing>)readProperty("things");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java
deleted file mode 100644
index b8312e4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Box;
-
-/**
- * Class _BoxInfo 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 _BoxInfo extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String COLOR_PROPERTY = "color";
-    @Deprecated
-    public static final String BOX_PROPERTY = "box";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> COLOR = new Property<String>("color");
-    public static final Property<Box> BOX = new Property<Box>("box");
-
-    public void setColor(String color) {
-        writeProperty("color", color);
-    }
-    public String getColor() {
-        return (String)readProperty("color");
-    }
-
-    public void setBox(Box box) {
-        setToOneTarget("box", box, true);
-    }
-
-    public Box getBox() {
-        return (Box)readProperty("box");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java
deleted file mode 100644
index b0549ab..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.Calendar;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _CalendarEntity 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 _CalendarEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CALENDAR_FIELD_PROPERTY = "calendarField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Calendar> CALENDAR_FIELD = new Property<Calendar>("calendarField");
-
-    public void setCalendarField(Calendar calendarField) {
-        writeProperty("calendarField", calendarField);
-    }
-    public Calendar getCalendarField() {
-        return (Calendar)readProperty("calendarField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java
deleted file mode 100644
index e293528..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
-
-/**
- * Class _CharFkTestEntity 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 _CharFkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_CHAR_PK_PROPERTY = "toCharPK";
-
-    public static final String PK_PK_COLUMN = "PK";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<CharPkTestEntity> TO_CHAR_PK = new Property<CharPkTestEntity>("toCharPK");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToCharPK(CharPkTestEntity toCharPK) {
-        setToOneTarget("toCharPK", toCharPK, true);
-    }
-
-    public CharPkTestEntity getToCharPK() {
-        return (CharPkTestEntity)readProperty("toCharPK");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java
deleted file mode 100644
index 81ecbc6..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CharFkTestEntity;
-
-/**
- * Class _CharPkTestEntity 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 _CharPkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String OTHER_COL_PROPERTY = "otherCol";
-    @Deprecated
-    public static final String PK_COL_PROPERTY = "pkCol";
-    @Deprecated
-    public static final String CHAR_FKS_PROPERTY = "charFKs";
-
-    public static final String PK_COL_PK_COLUMN = "PK_COL";
-
-    public static final Property<String> OTHER_COL = new Property<String>("otherCol");
-    public static final Property<String> PK_COL = new Property<String>("pkCol");
-    public static final Property<List<CharFkTestEntity>> CHAR_FKS = new Property<List<CharFkTestEntity>>("charFKs");
-
-    public void setOtherCol(String otherCol) {
-        writeProperty("otherCol", otherCol);
-    }
-    public String getOtherCol() {
-        return (String)readProperty("otherCol");
-    }
-
-    public void setPkCol(String pkCol) {
-        writeProperty("pkCol", pkCol);
-    }
-    public String getPkCol() {
-        return (String)readProperty("pkCol");
-    }
-
-    public void addToCharFKs(CharFkTestEntity obj) {
-        addToManyTarget("charFKs", obj, true);
-    }
-    public void removeFromCharFKs(CharFkTestEntity obj) {
-        removeToManyTarget("charFKs", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<CharFkTestEntity> getCharFKs() {
-        return (List<CharFkTestEntity>)readProperty("charFKs");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java
deleted file mode 100644
index 613ee6e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _CharacterEntity 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 _CharacterEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CHARACTER_FIELD_PROPERTY = "characterField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Character> CHARACTER_FIELD = new Property<Character>("characterField");
-
-    public void setCharacterField(Character characterField) {
-        writeProperty("characterField", characterField);
-    }
-    public Character getCharacterField() {
-        return (Character)readProperty("characterField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java
deleted file mode 100644
index 64fcbff..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.ClobTestRelation;
-
-/**
- * Class _ClobTestEntity 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 _ClobTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CLOB_COL_PROPERTY = "clobCol";
-    @Deprecated
-    public static final String CLOB_VALUE_PROPERTY = "clobValue";
-
-    public static final String CLOB_TEST_ID_PK_COLUMN = "CLOB_TEST_ID";
-
-    public static final Property<String> CLOB_COL = new Property<String>("clobCol");
-    public static final Property<List<ClobTestRelation>> CLOB_VALUE = new Property<List<ClobTestRelation>>("clobValue");
-
-    public void setClobCol(String clobCol) {
-        writeProperty("clobCol", clobCol);
-    }
-    public String getClobCol() {
-        return (String)readProperty("clobCol");
-    }
-
-    public void addToClobValue(ClobTestRelation obj) {
-        addToManyTarget("clobValue", obj, true);
-    }
-    public void removeFromClobValue(ClobTestRelation obj) {
-        removeToManyTarget("clobValue", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<ClobTestRelation> getClobValue() {
-        return (List<ClobTestRelation>)readProperty("clobValue");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java
deleted file mode 100644
index 5897c35..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
-
-/**
- * Class _ClobTestRelation 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 _ClobTestRelation extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ID_PROPERTY = "id";
-    @Deprecated
-    public static final String VALUE_PROPERTY = "value";
-    @Deprecated
-    public static final String CLOB_ID_PROPERTY = "clobId";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> ID = new Property<Integer>("id");
-    public static final Property<Integer> VALUE = new Property<Integer>("value");
-    public static final Property<ClobTestEntity> CLOB_ID = new Property<ClobTestEntity>("clobId");
-
-    public void setId(Integer id) {
-        writeProperty("id", id);
-    }
-    public Integer getId() {
-        return (Integer)readProperty("id");
-    }
-
-    public void setValue(Integer value) {
-        writeProperty("value", value);
-    }
-    public Integer getValue() {
-        return (Integer)readProperty("value");
-    }
-
-    public void setClobId(ClobTestEntity clobId) {
-        setToOneTarget("clobId", clobId, true);
-    }
-
-    public ClobTestEntity getClobId() {
-        return (ClobTestEntity)readProperty("clobId");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java
deleted file mode 100644
index 53d4944..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
-
-/**
- * Class _CompoundFkTestEntity 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 _CompoundFkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_COMPOUND_PK_PROPERTY = "toCompoundPk";
-
-    public static final String PKEY_PK_COLUMN = "PKEY";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<CompoundPkTestEntity> TO_COMPOUND_PK = new Property<CompoundPkTestEntity>("toCompoundPk");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToCompoundPk(CompoundPkTestEntity toCompoundPk) {
-        setToOneTarget("toCompoundPk", toCompoundPk, true);
-    }
-
-    public CompoundPkTestEntity getToCompoundPk() {
-        return (CompoundPkTestEntity)readProperty("toCompoundPk");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java
deleted file mode 100644
index f06172b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-
-/**
- * Class _CompoundPkTestEntity 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 _CompoundPkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String KEY1_PROPERTY = "key1";
-    @Deprecated
-    public static final String KEY2_PROPERTY = "key2";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String COMPOUND_FK_ARRAY_PROPERTY = "compoundFkArray";
-
-    public static final String KEY1_PK_COLUMN = "KEY1";
-    public static final String KEY2_PK_COLUMN = "KEY2";
-
-    public static final Property<String> KEY1 = new Property<String>("key1");
-    public static final Property<String> KEY2 = new Property<String>("key2");
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<CompoundFkTestEntity>> COMPOUND_FK_ARRAY = new Property<List<CompoundFkTestEntity>>("compoundFkArray");
-
-    public void setKey1(String key1) {
-        writeProperty("key1", key1);
-    }
-    public String getKey1() {
-        return (String)readProperty("key1");
-    }
-
-    public void setKey2(String key2) {
-        writeProperty("key2", key2);
-    }
-    public String getKey2() {
-        return (String)readProperty("key2");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToCompoundFkArray(CompoundFkTestEntity obj) {
-        addToManyTarget("compoundFkArray", obj, true);
-    }
-    public void removeFromCompoundFkArray(CompoundFkTestEntity obj) {
-        removeToManyTarget("compoundFkArray", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<CompoundFkTestEntity> getCompoundFkArray() {
-        return (List<CompoundFkTestEntity>)readProperty("compoundFkArray");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java
deleted file mode 100644
index ca110eb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.Date;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _DateTestEntity 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 _DateTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
-    @Deprecated
-    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
-    @Deprecated
-    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
-
-    public static final String DATE_TEST_ID_PK_COLUMN = "DATE_TEST_ID";
-
-    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
-    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
-    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
-
-    public void setDateColumn(Date dateColumn) {
-        writeProperty("dateColumn", dateColumn);
-    }
-    public Date getDateColumn() {
-        return (Date)readProperty("dateColumn");
-    }
-
-    public void setTimeColumn(Date timeColumn) {
-        writeProperty("timeColumn", timeColumn);
-    }
-    public Date getTimeColumn() {
-        return (Date)readProperty("timeColumn");
-    }
-
-    public void setTimestampColumn(Date timestampColumn) {
-        writeProperty("timestampColumn", timestampColumn);
-    }
-    public Date getTimestampColumn() {
-        return (Date)readProperty("timestampColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java
deleted file mode 100644
index 0cab136..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _DecimalPKTest1 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 _DecimalPKTest1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
-
-    public static final Property<Double> DECIMAL_PK = new Property<Double>("decimalPK");
-    public static final Property<String> NAME = new Property<String>("name");
-
-    public void setDecimalPK(Double decimalPK) {
-        writeProperty("decimalPK", decimalPK);
-    }
-    public Double getDecimalPK() {
-        return (Double)readProperty("decimalPK");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java
deleted file mode 100644
index 4386364..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigDecimal;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _DecimalPKTestEntity 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 _DecimalPKTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
-
-    public static final Property<BigDecimal> DECIMAL_PK = new Property<BigDecimal>("decimalPK");
-    public static final Property<String> NAME = new Property<String>("name");
-
-    public void setDecimalPK(BigDecimal decimalPK) {
-        writeProperty("decimalPK", decimalPK);
-    }
-    public BigDecimal getDecimalPK() {
-        return (BigDecimal)readProperty("decimalPK");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-}


[07/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java
new file mode 100644
index 0000000..50bc6c0
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BitNumberTestEntity 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 _BitNumberTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> BIT_COLUMN = new Property<Integer>("bitColumn");
+
+    public void setBitColumn(Integer bitColumn) {
+        writeProperty("bitColumn", bitColumn);
+    }
+    public Integer getBitColumn() {
+        return (Integer)readProperty("bitColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java
new file mode 100644
index 0000000..91d49dd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BitTestEntity 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 _BitTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
+
+    public void setBitColumn(Boolean bitColumn) {
+        writeProperty("bitColumn", bitColumn);
+    }
+    public Boolean getBitColumn() {
+        return (Boolean)readProperty("bitColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java
new file mode 100644
index 0000000..6651379
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BooleanTestEntity 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 _BooleanTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
+
+    public void setBooleanColumn(Boolean booleanColumn) {
+        writeProperty("booleanColumn", booleanColumn);
+    }
+    public Boolean getBooleanColumn() {
+        return (Boolean)readProperty("booleanColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java
new file mode 100644
index 0000000..ef70095
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java
@@ -0,0 +1,40 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _DecimalPKTest1 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 _DecimalPKTest1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
+
+    public static final Property<Double> DECIMAL_PK = new Property<Double>("decimalPK");
+    public static final Property<String> NAME = new Property<String>("name");
+
+    public void setDecimalPK(Double decimalPK) {
+        writeProperty("decimalPK", decimalPK);
+    }
+    public Double getDecimalPK() {
+        return (Double)readProperty("decimalPK");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java
new file mode 100644
index 0000000..8f51019
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java
@@ -0,0 +1,42 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import java.math.BigDecimal;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _DecimalPKTestEntity 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 _DecimalPKTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
+
+    public static final Property<BigDecimal> DECIMAL_PK = new Property<BigDecimal>("decimalPK");
+    public static final Property<String> NAME = new Property<String>("name");
+
+    public void setDecimalPK(BigDecimal decimalPK) {
+        writeProperty("decimalPK", decimalPK);
+    }
+    public BigDecimal getDecimalPK() {
+        return (BigDecimal)readProperty("decimalPK");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java
new file mode 100644
index 0000000..3f976b6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _LongEntity 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 _LongEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String LONG_FIELD_PROPERTY = "longField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Long> LONG_FIELD = new Property<Long>("longField");
+
+    public void setLongField(Long longField) {
+        writeProperty("longField", longField);
+    }
+    public Long getLongField() {
+        return (Long)readProperty("longField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java
new file mode 100644
index 0000000..8be4455
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _SmallintTestEntity 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 _SmallintTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String SMALLINT_COL_PROPERTY = "smallintCol";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Short> SMALLINT_COL = new Property<Short>("smallintCol");
+
+    public void setSmallintCol(Short smallintCol) {
+        writeProperty("smallintCol", smallintCol);
+    }
+    public Short getSmallintCol() {
+        return (Short)readProperty("smallintCol");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java
new file mode 100644
index 0000000..d31fccd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _TinyintTestEntity 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 _TinyintTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String TINYINT_COL_PROPERTY = "tinyintCol";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Byte> TINYINT_COL = new Property<Byte>("tinyintCol");
+
+    public void setTinyintCol(Byte tinyintCol) {
+        writeProperty("tinyintCol", tinyintCol);
+    }
+    public Byte getTinyintCol() {
+        return (Byte)readProperty("tinyintCol");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.java
new file mode 100644
index 0000000..1ad4826
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.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.primitive;
+
+import org.apache.cayenne.testdo.primitive.auto._PrimitivesTestEntity;
+
+public class PrimitivesTestEntity extends _PrimitivesTestEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
new file mode 100644
index 0000000..6bdb279
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
@@ -0,0 +1,42 @@
+package org.apache.cayenne.testdo.primitive.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _PrimitivesTestEntity 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 _PrimitivesTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+    @Deprecated
+    public static final String INT_COLUMN_PROPERTY = "intColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
+    public static final Property<Integer> INT_COLUMN = new Property<Integer>("intColumn");
+
+    public void setBooleanColumn(boolean booleanColumn) {
+        writeProperty("booleanColumn", booleanColumn);
+    }
+	public boolean isBooleanColumn() {
+        Boolean value = (Boolean)readProperty("booleanColumn");
+        return (value != null) ? value.booleanValue() : false;
+    }
+
+    public void setIntColumn(int intColumn) {
+        writeProperty("intColumn", intColumn);
+    }
+    public int getIntColumn() {
+        Object value = readProperty("intColumn");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.java
new file mode 100644
index 0000000..1927981
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.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.return_types;
+
+import org.apache.cayenne.testdo.return_types.auto._ReturnTypesMap1;
+
+public class ReturnTypesMap1 extends _ReturnTypesMap1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.java
new file mode 100644
index 0000000..8d699cf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.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.return_types;
+
+import org.apache.cayenne.testdo.return_types.auto._ReturnTypesMap2;
+
+public class ReturnTypesMap2 extends _ReturnTypesMap2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.java
new file mode 100644
index 0000000..c0f1436
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.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.return_types;
+
+import org.apache.cayenne.testdo.return_types.auto._ReturnTypesMapLobs1;
+
+public class ReturnTypesMapLobs1 extends _ReturnTypesMapLobs1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java
new file mode 100644
index 0000000..0cf2d2f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java
@@ -0,0 +1,193 @@
+package org.apache.cayenne.testdo.return_types.auto;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ReturnTypesMap1 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 _ReturnTypesMap1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIGINT_COLUMN_PROPERTY = "bigintColumn";
+    @Deprecated
+    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
+    @Deprecated
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+    @Deprecated
+    public static final String CHAR_COLUMN_PROPERTY = "charColumn";
+    @Deprecated
+    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
+    @Deprecated
+    public static final String DECIMAL_COLUMN_PROPERTY = "decimalColumn";
+    @Deprecated
+    public static final String DOUBLE_COLUMN_PROPERTY = "doubleColumn";
+    @Deprecated
+    public static final String FLOAT_COLUMN_PROPERTY = "floatColumn";
+    @Deprecated
+    public static final String INTEGER_COLUMN_PROPERTY = "integerColumn";
+    @Deprecated
+    public static final String LONGVARCHAR_COLUMN_PROPERTY = "longvarcharColumn";
+    @Deprecated
+    public static final String NUMERIC_COLUMN_PROPERTY = "numericColumn";
+    @Deprecated
+    public static final String REAL_COLUMN_PROPERTY = "realColumn";
+    @Deprecated
+    public static final String SMALLINT_COLUMN_PROPERTY = "smallintColumn";
+    @Deprecated
+    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
+    @Deprecated
+    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
+    @Deprecated
+    public static final String TINYINT_COLUMN_PROPERTY = "tinyintColumn";
+    @Deprecated
+    public static final String VARCHAR_COLUMN_PROPERTY = "varcharColumn";
+
+    public static final String AAAID_PK_COLUMN = "AAAID";
+
+    public static final Property<Long> BIGINT_COLUMN = new Property<Long>("bigintColumn");
+    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
+    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
+    public static final Property<String> CHAR_COLUMN = new Property<String>("charColumn");
+    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
+    public static final Property<BigDecimal> DECIMAL_COLUMN = new Property<BigDecimal>("decimalColumn");
+    public static final Property<Double> DOUBLE_COLUMN = new Property<Double>("doubleColumn");
+    public static final Property<Float> FLOAT_COLUMN = new Property<Float>("floatColumn");
+    public static final Property<Integer> INTEGER_COLUMN = new Property<Integer>("integerColumn");
+    public static final Property<String> LONGVARCHAR_COLUMN = new Property<String>("longvarcharColumn");
+    public static final Property<BigDecimal> NUMERIC_COLUMN = new Property<BigDecimal>("numericColumn");
+    public static final Property<Float> REAL_COLUMN = new Property<Float>("realColumn");
+    public static final Property<Short> SMALLINT_COLUMN = new Property<Short>("smallintColumn");
+    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
+    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
+    public static final Property<Byte> TINYINT_COLUMN = new Property<Byte>("tinyintColumn");
+    public static final Property<String> VARCHAR_COLUMN = new Property<String>("varcharColumn");
+
+    public void setBigintColumn(Long bigintColumn) {
+        writeProperty("bigintColumn", bigintColumn);
+    }
+    public Long getBigintColumn() {
+        return (Long)readProperty("bigintColumn");
+    }
+
+    public void setBitColumn(Boolean bitColumn) {
+        writeProperty("bitColumn", bitColumn);
+    }
+    public Boolean getBitColumn() {
+        return (Boolean)readProperty("bitColumn");
+    }
+
+    public void setBooleanColumn(Boolean booleanColumn) {
+        writeProperty("booleanColumn", booleanColumn);
+    }
+    public Boolean getBooleanColumn() {
+        return (Boolean)readProperty("booleanColumn");
+    }
+
+    public void setCharColumn(String charColumn) {
+        writeProperty("charColumn", charColumn);
+    }
+    public String getCharColumn() {
+        return (String)readProperty("charColumn");
+    }
+
+    public void setDateColumn(Date dateColumn) {
+        writeProperty("dateColumn", dateColumn);
+    }
+    public Date getDateColumn() {
+        return (Date)readProperty("dateColumn");
+    }
+
+    public void setDecimalColumn(BigDecimal decimalColumn) {
+        writeProperty("decimalColumn", decimalColumn);
+    }
+    public BigDecimal getDecimalColumn() {
+        return (BigDecimal)readProperty("decimalColumn");
+    }
+
+    public void setDoubleColumn(Double doubleColumn) {
+        writeProperty("doubleColumn", doubleColumn);
+    }
+    public Double getDoubleColumn() {
+        return (Double)readProperty("doubleColumn");
+    }
+
+    public void setFloatColumn(Float floatColumn) {
+        writeProperty("floatColumn", floatColumn);
+    }
+    public Float getFloatColumn() {
+        return (Float)readProperty("floatColumn");
+    }
+
+    public void setIntegerColumn(Integer integerColumn) {
+        writeProperty("integerColumn", integerColumn);
+    }
+    public Integer getIntegerColumn() {
+        return (Integer)readProperty("integerColumn");
+    }
+
+    public void setLongvarcharColumn(String longvarcharColumn) {
+        writeProperty("longvarcharColumn", longvarcharColumn);
+    }
+    public String getLongvarcharColumn() {
+        return (String)readProperty("longvarcharColumn");
+    }
+
+    public void setNumericColumn(BigDecimal numericColumn) {
+        writeProperty("numericColumn", numericColumn);
+    }
+    public BigDecimal getNumericColumn() {
+        return (BigDecimal)readProperty("numericColumn");
+    }
+
+    public void setRealColumn(Float realColumn) {
+        writeProperty("realColumn", realColumn);
+    }
+    public Float getRealColumn() {
+        return (Float)readProperty("realColumn");
+    }
+
+    public void setSmallintColumn(Short smallintColumn) {
+        writeProperty("smallintColumn", smallintColumn);
+    }
+    public Short getSmallintColumn() {
+        return (Short)readProperty("smallintColumn");
+    }
+
+    public void setTimeColumn(Date timeColumn) {
+        writeProperty("timeColumn", timeColumn);
+    }
+    public Date getTimeColumn() {
+        return (Date)readProperty("timeColumn");
+    }
+
+    public void setTimestampColumn(Date timestampColumn) {
+        writeProperty("timestampColumn", timestampColumn);
+    }
+    public Date getTimestampColumn() {
+        return (Date)readProperty("timestampColumn");
+    }
+
+    public void setTinyintColumn(Byte tinyintColumn) {
+        writeProperty("tinyintColumn", tinyintColumn);
+    }
+    public Byte getTinyintColumn() {
+        return (Byte)readProperty("tinyintColumn");
+    }
+
+    public void setVarcharColumn(String varcharColumn) {
+        writeProperty("varcharColumn", varcharColumn);
+    }
+    public String getVarcharColumn() {
+        return (String)readProperty("varcharColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java
new file mode 100644
index 0000000..ece568c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java
@@ -0,0 +1,60 @@
+package org.apache.cayenne.testdo.return_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ReturnTypesMap2 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 _ReturnTypesMap2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BINARY_COLUMN_PROPERTY = "binaryColumn";
+    @Deprecated
+    public static final String BLOB_COLUMN_PROPERTY = "blobColumn";
+    @Deprecated
+    public static final String LONGVARBINARY_COLUMN_PROPERTY = "longvarbinaryColumn";
+    @Deprecated
+    public static final String VARBINARY_COLUMN_PROPERTY = "varbinaryColumn";
+
+    public static final String AAAID_PK_COLUMN = "AAAID";
+
+    public static final Property<byte[]> BINARY_COLUMN = new Property<byte[]>("binaryColumn");
+    public static final Property<byte[]> BLOB_COLUMN = new Property<byte[]>("blobColumn");
+    public static final Property<byte[]> LONGVARBINARY_COLUMN = new Property<byte[]>("longvarbinaryColumn");
+    public static final Property<byte[]> VARBINARY_COLUMN = new Property<byte[]>("varbinaryColumn");
+
+    public void setBinaryColumn(byte[] binaryColumn) {
+        writeProperty("binaryColumn", binaryColumn);
+    }
+    public byte[] getBinaryColumn() {
+        return (byte[])readProperty("binaryColumn");
+    }
+
+    public void setBlobColumn(byte[] blobColumn) {
+        writeProperty("blobColumn", blobColumn);
+    }
+    public byte[] getBlobColumn() {
+        return (byte[])readProperty("blobColumn");
+    }
+
+    public void setLongvarbinaryColumn(byte[] longvarbinaryColumn) {
+        writeProperty("longvarbinaryColumn", longvarbinaryColumn);
+    }
+    public byte[] getLongvarbinaryColumn() {
+        return (byte[])readProperty("longvarbinaryColumn");
+    }
+
+    public void setVarbinaryColumn(byte[] varbinaryColumn) {
+        writeProperty("varbinaryColumn", varbinaryColumn);
+    }
+    public byte[] getVarbinaryColumn() {
+        return (byte[])readProperty("varbinaryColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java
new file mode 100644
index 0000000..eb7b0da
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.return_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ReturnTypesMapLobs1 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 _ReturnTypesMapLobs1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
+
+    public static final String AAAID_PK_COLUMN = "AAAID";
+
+    public static final Property<String> CLOB_COLUMN = new Property<String>("clobColumn");
+
+    public void setClobColumn(String clobColumn) {
+        writeProperty("clobColumn", clobColumn);
+    }
+    public String getClobColumn() {
+        return (String)readProperty("clobColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java
deleted file mode 100644
index a815b4b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java
+++ /dev/null
@@ -1,27 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ArraysEntity;
-
-public class ArraysEntity extends _ArraysEntity {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java
deleted file mode 100644
index c916205..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java
+++ /dev/null
@@ -1,27 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Bag;
-
-public class Bag extends _Bag {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java
deleted file mode 100644
index 0dac2a1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java
+++ /dev/null
@@ -1,27 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Ball;
-
-public class Ball extends _Ball {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java
deleted file mode 100644
index 97546ab..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java
+++ /dev/null
@@ -1,27 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BigDecimalEntity;
-
-public class BigDecimalEntity extends _BigDecimalEntity {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java
deleted file mode 100644
index d519c22..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java
+++ /dev/null
@@ -1,27 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BigIntegerEntity;
-
-public class BigIntegerEntity extends _BigIntegerEntity {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java
deleted file mode 100644
index 4466401..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BinaryPKTest1;
-
-public class BinaryPKTest1 extends _BinaryPKTest1 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java
deleted file mode 100644
index 0fd5e0c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BinaryPKTest2;
-
-public class BinaryPKTest2 extends _BinaryPKTest2 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java
deleted file mode 100644
index 6333707..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BitNumberTestEntity;
-
-public class BitNumberTestEntity extends _BitNumberTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java
deleted file mode 100644
index 453105e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BitTestEntity;
-
-public class BitTestEntity extends _BitTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java
deleted file mode 100644
index 75cf2ed..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BlobTestEntity;
-
-public class BlobTestEntity extends _BlobTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java
deleted file mode 100644
index e1e2992..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BooleanTestEntity;
-
-public class BooleanTestEntity extends _BooleanTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.java
deleted file mode 100644
index 8736f39..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Box;
-
-public class Box extends _Box {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.java
deleted file mode 100644
index c5457c8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BoxInfo;
-
-public class BoxInfo extends _BoxInfo {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java
deleted file mode 100644
index 29ffa81..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CalendarEntity;
-
-public class CalendarEntity extends _CalendarEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java
deleted file mode 100644
index 950b098..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CharFkTestEntity;
-
-public class CharFkTestEntity extends _CharFkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java
deleted file mode 100644
index 8985bee..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CharPkTestEntity;
-
-public class CharPkTestEntity extends _CharPkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java
deleted file mode 100644
index 4c00b7d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CharacterEntity;
-
-public class CharacterEntity extends _CharacterEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java
deleted file mode 100644
index 5099fa4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ClobTestEntity;
-
-public class ClobTestEntity extends _ClobTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.java
deleted file mode 100644
index c79cfe0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ClobTestRelation;
-
-public class ClobTestRelation extends _ClobTestRelation {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java
deleted file mode 100644
index e24e4bb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CompoundFkTestEntity;
-
-public class CompoundFkTestEntity extends _CompoundFkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java
deleted file mode 100644
index 14afeb5..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CompoundPkTestEntity;
-
-public class CompoundPkTestEntity extends _CompoundPkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java
deleted file mode 100644
index c93c38d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._DateTestEntity;
-
-public class DateTestEntity extends _DateTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java
deleted file mode 100644
index 901c239..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java
+++ /dev/null
@@ -1,26 +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.testmap;
-
-public class DecimalPKTest1 extends org.apache.cayenne.testdo.testmap.auto._DecimalPKTest1 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java
deleted file mode 100644
index 12d3050..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._DecimalPKTestEntity;
-
-public class DecimalPKTestEntity extends _DecimalPKTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java
deleted file mode 100644
index 6c24524..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java
+++ /dev/null
@@ -1,23 +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.testmap;
-
-public enum Enum1 {
-    one, two, three
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.java
deleted file mode 100644
index 0573389..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._EnumEntity;
-
-public class EnumEntity extends _EnumEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.java
deleted file mode 100644
index 5c067f6..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ExtendedTypeEntity;
-
-public class ExtendedTypeEntity extends _ExtendedTypeEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java
deleted file mode 100644
index 03cc828..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnCompKey;
-
-public class GeneratedColumnCompKey extends _GeneratedColumnCompKey {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java
deleted file mode 100644
index b5f5e7f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnCompMaster;
-
-public class GeneratedColumnCompMaster extends _GeneratedColumnCompMaster {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java
deleted file mode 100644
index 4b4f3cc..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnDep;
-
-public class GeneratedColumnDep extends _GeneratedColumnDep {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java
deleted file mode 100644
index e8bb3cb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java
+++ /dev/null
@@ -1,28 +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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnTest2;
-
-public class GeneratedColumnTest2 extends _GeneratedColumnTest2 {
-
-}
-
-
-


[11/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
Refactor TestMap Project


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/535ecb88
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/535ecb88
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/535ecb88

Branch: refs/heads/master
Commit: 535ecb881e04a644f585aaa3adbcd39556c3cdac
Parents: d7178a8
Author: Savva Kolbechev <s....@gmail.com>
Authored: Wed Nov 12 18:02:46 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Wed Nov 12 18:02:46 2014 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/CayenneCompoundIT.java   | 149 ++++
 .../test/java/org/apache/cayenne/CayenneIT.java | 117 +--
 .../org/apache/cayenne/CompoundPkChangeIT.java  |   4 +-
 .../cayenne/access/DataContextBinaryPKIT.java   |   6 +-
 .../cayenne/access/DataContextBlobIT.java       |   4 +-
 .../cayenne/access/DataContextCharPKIT.java     |   4 +-
 .../cayenne/access/DataContextCharTypeIT.java   |   4 +-
 .../cayenne/access/DataContextClobIT.java       |   4 +-
 .../access/DataContextCompoundRelIT.java        |   6 +-
 ...ataContextDisjointByIdPrefetch_ExtrasIT.java |  17 +-
 ...extEJBQLDateTimeFunctionalExpressionsIT.java | 102 +++
 .../access/DataContextEJBQLDeleteIT.java        |  35 -
 .../access/DataContextEJBQLDeletePKIT.java      |  64 ++
 .../DataContextEJBQLFunctionalExpressions.java  | 430 ---------
 ...DataContextEJBQLFunctionalExpressionsIT.java | 295 +++++++
 .../DataContextEJBQLNumericalFunctionalIT.java  | 133 +++
 .../access/DataContextEJBQLQueryCompoundIT.java | 129 +++
 .../cayenne/access/DataContextEJBQLQueryIT.java |  93 --
 .../DataContextEJBQLUpdateCompoundIT.java       |  87 ++
 .../access/DataContextEJBQLUpdateIT.java        |  89 --
 .../DataContextEntityWithMeaningfulPKIT.java    |   6 +-
 .../DataContextExtendedTypeOperationsIT.java    |   6 +-
 .../cayenne/access/DataContextNoPkIT.java       |   4 +-
 .../access/DataContextPrefetchExtrasIT.java     |  10 +-
 .../access/DataContextProcedureQueryIT.java     |   8 +-
 .../DataContextSQLTemplateCompoundIT.java       | 105 +++
 .../access/DataContextSQLTemplateIT.java        |  82 +-
 .../apache/cayenne/access/DateTimeTypesIT.java  |   7 +-
 .../apache/cayenne/access/DbGeneratorIT.java    |   4 +-
 .../java/org/apache/cayenne/access/EnumIT.java  |   6 +-
 .../cayenne/access/IdentityColumnsIT.java       |  16 +-
 .../org/apache/cayenne/access/MiscTypesIT.java  |   8 +-
 .../apache/cayenne/access/NumericTypesIT.java   |  20 +-
 .../cayenne/access/PrimitiveAttributesIT.java   |   4 +-
 .../cayenne/access/ReturnTypesMappingIT.java    |  32 +-
 .../java/org/apache/cayenne/access/UUIDIT.java  |   6 +-
 .../access/jdbc/BatchActionGeneratedIT.java     |  70 ++
 .../cayenne/access/jdbc/BatchActionIT.java      |  11 -
 .../cayenne/access/jdbc/SelectActionIT.java     |   6 +-
 .../ServerRuntimeBuilder_InAction_IT.java       |   2 +-
 .../cayenne/dba/oracle/OracleAdapterIT.java     |   6 +-
 .../cayenne/exp/BooleanExpressionTest.java      |   2 +-
 .../apache/cayenne/map/MapLoaderLoadTest.java   |   6 +-
 .../org/apache/cayenne/map/ObjEntityIT.java     |   2 +-
 .../org/apache/cayenne/merge/MergeCase.java     |   2 +-
 .../org/apache/cayenne/query/EJBQLQueryIT.java  |  29 -
 .../cayenne/query/EJBQLQueryNumericIT.java      |  57 ++
 .../org/apache/cayenne/query/SQLSelectIT.java   |   2 +-
 .../org/apache/cayenne/query/SQLTemplateIT.java |   8 +-
 .../apache/cayenne/query/SelectQueryClobIT.java | 108 +++
 .../org/apache/cayenne/query/SelectQueryIT.java | 189 ----
 .../cayenne/query/SelectQueryReturnTypesIT.java | 149 ++++
 .../reflect/MixedPersistenceStrategyIT.java     |   6 +-
 .../cayenne/testdo/binary_pk/BinaryPKTest1.java |  28 +
 .../cayenne/testdo/binary_pk/BinaryPKTest2.java |  28 +
 .../testdo/binary_pk/auto/_BinaryPKTest1.java   |  48 +
 .../testdo/binary_pk/auto/_BinaryPKTest2.java   |  43 +
 .../testdo/compound/CharFkTestEntity.java       |  28 +
 .../testdo/compound/CharPkTestEntity.java       |  28 +
 .../testdo/compound/CompoundFkTestEntity.java   |  28 +
 .../testdo/compound/CompoundPkTestEntity.java   |  28 +
 .../testdo/compound/auto/_CharFkTestEntity.java |  43 +
 .../testdo/compound/auto/_CharPkTestEntity.java |  58 ++
 .../compound/auto/_CompoundFkTestEntity.java    |  43 +
 .../compound/auto/_CompoundPkTestEntity.java    |  69 ++
 .../testdo/date_time/CalendarEntity.java        |  28 +
 .../testdo/date_time/DateTestEntity.java        |  28 +
 .../testdo/date_time/auto/_CalendarEntity.java  |  32 +
 .../testdo/date_time/auto/_DateTestEntity.java  |  52 ++
 .../apache/cayenne/testdo/enum_test/Enum1.java  |  23 +
 .../cayenne/testdo/enum_test/EnumEntity.java    |  25 +
 .../testdo/enum_test/auto/_EnumEntity.java      |  31 +
 .../extended_type/ExtendedTypeEntity.java       |  25 +
 .../cayenne/testdo/extended_type/StringET1.java |  35 +
 .../extended_type/StringET1ExtendedType.java    |  62 ++
 .../extended_type/auto/_ExtendedTypeEntity.java |  31 +
 .../generated/GeneratedColumnCompKey.java       |  28 +
 .../generated/GeneratedColumnCompMaster.java    |  28 +
 .../testdo/generated/GeneratedColumnDep.java    |  28 +
 .../testdo/generated/GeneratedColumnTest2.java  |  28 +
 .../generated/GeneratedColumnTestEntity.java    |  28 +
 .../cayenne/testdo/generated/GeneratedF1.java   |  25 +
 .../cayenne/testdo/generated/GeneratedF2.java   |  25 +
 .../generated/auto/_GeneratedColumnCompKey.java |  45 +
 .../auto/_GeneratedColumnCompMaster.java        |  48 +
 .../generated/auto/_GeneratedColumnDep.java     |  43 +
 .../generated/auto/_GeneratedColumnTest2.java   |  30 +
 .../auto/_GeneratedColumnTestEntity.java        |  43 +
 .../testdo/generated/auto/_GeneratedF1.java     |  38 +
 .../testdo/generated/auto/_GeneratedF2.java     |  38 +
 .../horizontalinherit/AbstractSuperEntity.java  |  25 -
 .../testdo/horizontalinherit/SubEntity1.java    |  25 -
 .../testdo/horizontalinherit/SubEntity2.java    |  25 -
 .../testdo/horizontalinherit/SubEntity3.java    |  25 -
 .../auto/_AbstractSuperEntity.java              |  32 -
 .../horizontalinherit/auto/_SubEntity1.java     |  24 -
 .../horizontalinherit/auto/_SubEntity2.java     |  25 -
 .../horizontalinherit/auto/_SubEntity3.java     |  25 -
 .../AbstractSuperEntity.java                    |  25 +
 .../inheritance_horizontal/SubEntity1.java      |  25 +
 .../inheritance_horizontal/SubEntity2.java      |  25 +
 .../inheritance_horizontal/SubEntity3.java      |  25 +
 .../auto/_AbstractSuperEntity.java              |  32 +
 .../auto/_SubEntity1.java                       |  24 +
 .../auto/_SubEntity2.java                       |  25 +
 .../auto/_SubEntity3.java                       |  25 +
 .../cayenne/testdo/lob/BlobTestEntity.java      |  28 +
 .../cayenne/testdo/lob/ClobTestEntity.java      |  28 +
 .../cayenne/testdo/lob/ClobTestRelation.java    |  25 +
 .../testdo/lob/auto/_BlobTestEntity.java        |  30 +
 .../testdo/lob/auto/_ClobTestEntity.java        |  48 +
 .../testdo/lob/auto/_ClobTestRelation.java      |  53 ++
 .../testdo/meaningful_pk/MeaningfulPKDep.java   |  26 +
 .../testdo/meaningful_pk/MeaningfulPKTest1.java |  26 +
 .../meaningful_pk/auto/_MeaningfulPKDep.java    |  43 +
 .../meaningful_pk/auto/_MeaningfulPKTest1.java  |  58 ++
 .../cayenne/testdo/misc_types/ArraysEntity.java |  27 +
 .../testdo/misc_types/CharacterEntity.java      |  28 +
 .../testdo/misc_types/SerializableEntity.java   |  28 +
 .../testdo/misc_types/auto/_ArraysEntity.java   |  60 ++
 .../misc_types/auto/_CharacterEntity.java       |  30 +
 .../misc_types/auto/_SerializableEntity.java    |  31 +
 .../MixedPersistenceStrategy.java               |  35 +
 .../MixedPersistenceStrategy2.java              |  25 +
 .../auto/_MixedPersistenceStrategy.java         |  58 ++
 .../auto/_MixedPersistenceStrategy2.java        |  43 +
 .../cayenne/testdo/no_pk/NoPkTestEntity.java    |  28 +
 .../testdo/no_pk/auto/_NoPkTestEntity.java      |  29 +
 .../testdo/numeric_types/BigDecimalEntity.java  |  27 +
 .../testdo/numeric_types/BigIntegerEntity.java  |  27 +
 .../numeric_types/BitNumberTestEntity.java      |  28 +
 .../testdo/numeric_types/BitTestEntity.java     |  28 +
 .../testdo/numeric_types/BooleanTestEntity.java |  28 +
 .../testdo/numeric_types/DecimalPKTest1.java    |  28 +
 .../numeric_types/DecimalPKTestEntity.java      |  28 +
 .../testdo/numeric_types/LongEntity.java        |  28 +
 .../numeric_types/SmallintTestEntity.java       |  28 +
 .../testdo/numeric_types/TinyintTestEntity.java |  28 +
 .../numeric_types/auto/_BigDecimalEntity.java   |  32 +
 .../numeric_types/auto/_BigIntegerEntity.java   |  32 +
 .../auto/_BitNumberTestEntity.java              |  30 +
 .../numeric_types/auto/_BitTestEntity.java      |  30 +
 .../numeric_types/auto/_BooleanTestEntity.java  |  30 +
 .../numeric_types/auto/_DecimalPKTest1.java     |  40 +
 .../auto/_DecimalPKTestEntity.java              |  42 +
 .../testdo/numeric_types/auto/_LongEntity.java  |  30 +
 .../numeric_types/auto/_SmallintTestEntity.java |  30 +
 .../numeric_types/auto/_TinyintTestEntity.java  |  30 +
 .../testdo/primitive/PrimitivesTestEntity.java  |  25 +
 .../primitive/auto/_PrimitivesTestEntity.java   |  42 +
 .../testdo/return_types/ReturnTypesMap1.java    |  25 +
 .../testdo/return_types/ReturnTypesMap2.java    |  25 +
 .../return_types/ReturnTypesMapLobs1.java       |  25 +
 .../return_types/auto/_ReturnTypesMap1.java     | 193 +++++
 .../return_types/auto/_ReturnTypesMap2.java     |  60 ++
 .../return_types/auto/_ReturnTypesMapLobs1.java |  30 +
 .../cayenne/testdo/testmap/ArraysEntity.java    |  27 -
 .../org/apache/cayenne/testdo/testmap/Bag.java  |  27 -
 .../org/apache/cayenne/testdo/testmap/Ball.java |  27 -
 .../testdo/testmap/BigDecimalEntity.java        |  27 -
 .../testdo/testmap/BigIntegerEntity.java        |  27 -
 .../cayenne/testdo/testmap/BinaryPKTest1.java   |  28 -
 .../cayenne/testdo/testmap/BinaryPKTest2.java   |  28 -
 .../testdo/testmap/BitNumberTestEntity.java     |  28 -
 .../cayenne/testdo/testmap/BitTestEntity.java   |  28 -
 .../cayenne/testdo/testmap/BlobTestEntity.java  |  28 -
 .../testdo/testmap/BooleanTestEntity.java       |  28 -
 .../org/apache/cayenne/testdo/testmap/Box.java  |  25 -
 .../apache/cayenne/testdo/testmap/BoxInfo.java  |  25 -
 .../cayenne/testdo/testmap/CalendarEntity.java  |  28 -
 .../testdo/testmap/CharFkTestEntity.java        |  28 -
 .../testdo/testmap/CharPkTestEntity.java        |  28 -
 .../cayenne/testdo/testmap/CharacterEntity.java |  28 -
 .../cayenne/testdo/testmap/ClobTestEntity.java  |  28 -
 .../testdo/testmap/ClobTestRelation.java        |  25 -
 .../testdo/testmap/CompoundFkTestEntity.java    |  28 -
 .../testdo/testmap/CompoundPkTestEntity.java    |  28 -
 .../cayenne/testdo/testmap/DateTestEntity.java  |  28 -
 .../cayenne/testdo/testmap/DecimalPKTest1.java  |  26 -
 .../testdo/testmap/DecimalPKTestEntity.java     |  28 -
 .../apache/cayenne/testdo/testmap/Enum1.java    |  23 -
 .../cayenne/testdo/testmap/EnumEntity.java      |  25 -
 .../testdo/testmap/ExtendedTypeEntity.java      |  25 -
 .../testdo/testmap/GeneratedColumnCompKey.java  |  28 -
 .../testmap/GeneratedColumnCompMaster.java      |  28 -
 .../testdo/testmap/GeneratedColumnDep.java      |  28 -
 .../testdo/testmap/GeneratedColumnTest2.java    |  28 -
 .../testmap/GeneratedColumnTestEntity.java      |  28 -
 .../cayenne/testdo/testmap/GeneratedF1.java     |  25 -
 .../cayenne/testdo/testmap/GeneratedF2.java     |  25 -
 .../cayenne/testdo/testmap/LongEntity.java      |  28 -
 .../cayenne/testdo/testmap/MeaningfulPKDep.java |  24 -
 .../testdo/testmap/MeaningfulPKTest1.java       |  24 -
 .../testmap/MixedPersistenceStrategy.java       |  35 -
 .../testmap/MixedPersistenceStrategy2.java      |  25 -
 .../cayenne/testdo/testmap/NoPkTestEntity.java  |  28 -
 .../testdo/testmap/PrimitivesTestEntity.java    |  25 -
 .../cayenne/testdo/testmap/ReturnTypesMap1.java |  25 -
 .../cayenne/testdo/testmap/ReturnTypesMap2.java |  25 -
 .../testdo/testmap/ReturnTypesMapLobs1.java     |  25 -
 .../testdo/testmap/SerializableEntity.java      |  28 -
 .../testdo/testmap/SmallintTestEntity.java      |  28 -
 .../cayenne/testdo/testmap/StringET1.java       |  35 -
 .../testdo/testmap/StringET1ExtendedType.java   |  62 --
 .../apache/cayenne/testdo/testmap/Thing.java    |  25 -
 .../testdo/testmap/TinyintTestEntity.java       |  28 -
 .../cayenne/testdo/testmap/UuidPkEntity.java    |  25 -
 .../cayenne/testdo/testmap/UuidTestEntity.java  |  25 -
 .../testdo/testmap/auto/_ArraysEntity.java      |  60 --
 .../cayenne/testdo/testmap/auto/_Bag.java       |  68 --
 .../cayenne/testdo/testmap/auto/_Ball.java      |  66 --
 .../testdo/testmap/auto/_BigDecimalEntity.java  |  32 -
 .../testdo/testmap/auto/_BigIntegerEntity.java  |  32 -
 .../testdo/testmap/auto/_BinaryPKTest1.java     |  48 -
 .../testdo/testmap/auto/_BinaryPKTest2.java     |  43 -
 .../testmap/auto/_BitNumberTestEntity.java      |  30 -
 .../testdo/testmap/auto/_BitTestEntity.java     |  30 -
 .../testdo/testmap/auto/_BlobTestEntity.java    |  30 -
 .../testdo/testmap/auto/_BooleanTestEntity.java |  30 -
 .../cayenne/testdo/testmap/auto/_Box.java       |  84 --
 .../cayenne/testdo/testmap/auto/_BoxInfo.java   |  43 -
 .../testdo/testmap/auto/_CalendarEntity.java    |  32 -
 .../testdo/testmap/auto/_CharFkTestEntity.java  |  43 -
 .../testdo/testmap/auto/_CharPkTestEntity.java  |  58 --
 .../testdo/testmap/auto/_CharacterEntity.java   |  30 -
 .../testdo/testmap/auto/_ClobTestEntity.java    |  48 -
 .../testdo/testmap/auto/_ClobTestRelation.java  |  53 --
 .../testmap/auto/_CompoundFkTestEntity.java     |  43 -
 .../testmap/auto/_CompoundPkTestEntity.java     |  69 --
 .../testdo/testmap/auto/_DateTestEntity.java    |  52 --
 .../testdo/testmap/auto/_DecimalPKTest1.java    |  40 -
 .../testmap/auto/_DecimalPKTestEntity.java      |  42 -
 .../testdo/testmap/auto/_EnumEntity.java        |  31 -
 .../testmap/auto/_ExtendedTypeEntity.java       |  31 -
 .../testmap/auto/_GeneratedColumnCompKey.java   |  45 -
 .../auto/_GeneratedColumnCompMaster.java        |  48 -
 .../testmap/auto/_GeneratedColumnDep.java       |  43 -
 .../testmap/auto/_GeneratedColumnTest2.java     |  30 -
 .../auto/_GeneratedColumnTestEntity.java        |  43 -
 .../testdo/testmap/auto/_GeneratedF1.java       |  38 -
 .../testdo/testmap/auto/_GeneratedF2.java       |  38 -
 .../testdo/testmap/auto/_LongEntity.java        |  30 -
 .../testdo/testmap/auto/_MeaningfulPKDep.java   |  43 -
 .../testdo/testmap/auto/_MeaningfulPKTest1.java |  58 --
 .../testmap/auto/_MixedPersistenceStrategy.java |  58 --
 .../auto/_MixedPersistenceStrategy2.java        |  43 -
 .../testdo/testmap/auto/_NoPkTestEntity.java    |  29 -
 .../testmap/auto/_PrimitivesTestEntity.java     |  42 -
 .../testdo/testmap/auto/_ReturnTypesMap1.java   | 193 -----
 .../testdo/testmap/auto/_ReturnTypesMap2.java   |  60 --
 .../testmap/auto/_ReturnTypesMapLobs1.java      |  30 -
 .../testmap/auto/_SerializableEntity.java       |  31 -
 .../testmap/auto/_SmallintTestEntity.java       |  30 -
 .../cayenne/testdo/testmap/auto/_Thing.java     |  65 --
 .../testdo/testmap/auto/_TinyintTestEntity.java |  30 -
 .../testdo/testmap/auto/_UuidPkEntity.java      |  32 -
 .../testdo/testmap/auto/_UuidTestEntity.java    |  32 -
 .../org/apache/cayenne/testdo/things/Bag.java   |  27 +
 .../org/apache/cayenne/testdo/things/Ball.java  |  27 +
 .../org/apache/cayenne/testdo/things/Box.java   |  25 +
 .../apache/cayenne/testdo/things/BoxInfo.java   |  25 +
 .../org/apache/cayenne/testdo/things/Thing.java |  25 +
 .../apache/cayenne/testdo/things/auto/_Bag.java |  68 ++
 .../cayenne/testdo/things/auto/_Ball.java       |  66 ++
 .../apache/cayenne/testdo/things/auto/_Box.java |  84 ++
 .../cayenne/testdo/things/auto/_BoxInfo.java    |  43 +
 .../cayenne/testdo/things/auto/_Thing.java      |  65 ++
 .../cayenne/testdo/uuid/UuidPkEntity.java       |  25 +
 .../cayenne/testdo/uuid/UuidTestEntity.java     |  25 +
 .../cayenne/testdo/uuid/auto/_UuidPkEntity.java |  32 +
 .../testdo/uuid/auto/_UuidTestEntity.java       |  32 +
 .../cayenne/unit/HSQLDBUnitDbAdapter.java       |   6 +-
 .../apache/cayenne/unit/MySQLUnitDbAdapter.java |  12 +-
 .../cayenne/unit/OracleUnitDbAdapter.java       |   2 +-
 .../cayenne/unit/PostgresUnitDbAdapter.java     |   8 +-
 .../cayenne/unit/SybaseUnitDbAdapter.java       |  14 +-
 .../cayenne/unit/di/server/SchemaBuilder.java   |   7 +-
 .../cayenne/unit/di/server/ServerCase.java      |  16 +
 .../cayenne/velocity/ResultDirectiveIT.java     |   2 +-
 .../src/test/resources/binary-pk.map.xml        |  34 +
 .../src/test/resources/cayenne-binary-pk.xml    |   4 +
 .../src/test/resources/cayenne-compound.xml     |   4 +
 .../src/test/resources/cayenne-date-time.xml    |   4 +
 .../src/test/resources/cayenne-enum.xml         |   4 +
 .../test/resources/cayenne-extended-type.xml    |   4 +
 .../src/test/resources/cayenne-generated.xml    |   4 +
 .../src/test/resources/cayenne-lob.xml          |   4 +
 .../src/test/resources/cayenne-misc-types.xml   |   4 +
 .../cayenne-mixed-persistence-strategy.xml      |   4 +
 .../src/test/resources/cayenne-no-pk.xml        |   4 +
 .../test/resources/cayenne-numeric-types.xml    |   4 +
 .../src/test/resources/cayenne-primitive.xml    |   4 +
 .../src/test/resources/cayenne-return-types.xml |   4 +
 .../src/test/resources/cayenne-testmap.xml      |   2 +-
 .../src/test/resources/cayenne-things.xml       |   4 +
 .../src/test/resources/cayenne-uuid.xml         |   4 +
 .../src/test/resources/compound.map.xml         |  64 ++
 .../src/test/resources/date-time.map.xml        |  34 +
 cayenne-server/src/test/resources/enum.map.xml  |  18 +
 .../src/test/resources/extended-type.map.xml    |  18 +
 .../src/test/resources/generated.map.xml        |  93 ++
 cayenne-server/src/test/resources/lob.map.xml   |  46 +
 .../src/test/resources/meaningful-pk.map.xml    |  24 +
 .../src/test/resources/misc-types.map.xml       |  38 +
 .../mixed-persistence-strategy.map.xml          |  36 +
 cayenne-server/src/test/resources/no-pk.map.xml |  17 +
 .../src/test/resources/numeric-types.map.xml    |  79 ++
 .../src/test/resources/primitive.map.xml        |  20 +
 .../src/test/resources/return-types.map.xml     |  84 ++
 .../src/test/resources/small-testmap.map.xml    |  10 +-
 .../src/test/resources/testmap.map.xml          | 302 +++++++
 .../src/test/resources/things.map.xml           | 110 +++
 .../src/test/resources/tstmap.map.xml           | 868 -------------------
 cayenne-server/src/test/resources/uuid.map.xml  |  24 +
 .../src/test/resources/testmap.map.xml          |  88 +-
 .../src/test/resources/testmap-client.map.xml   |  88 +-
 .../src/test/resources/testmap.map.xml          |  88 +-
 317 files changed, 6744 insertions(+), 6133 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
new file mode 100644
index 0000000..0a0fa92
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
@@ -0,0 +1,149 @@
+package org.apache.cayenne;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class CayenneCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    protected TableHelper tCompoundPKTest;
+    protected TableHelper tCharPKTest;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+        dbHelper.deleteAll("CHAR_PK_TEST");
+
+        tCompoundPKTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPKTest.setColumns("KEY1", "KEY2", "NAME");
+
+        tCharPKTest = new TableHelper(dbHelper, "CHAR_PK_TEST");
+        tCharPKTest.setColumns("PK_COL", "OTHER_COL");
+    }
+
+    private void createOneCompoundPK() throws Exception {
+        tCompoundPKTest.insert("PK1", "PK2", "BBB");
+    }
+
+    private void createOneCharPK() throws Exception {
+        tCharPKTest.insert("CPK", "AAAA");
+    }
+
+    @Test
+    public void testObjectForPKEntityMapCompound() throws Exception {
+        createOneCompoundPK();
+
+        Map<String, Object> pk = new HashMap<String, Object>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "PK1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "PK2");
+        Object object = Cayenne.objectForPK(context, CompoundPkTestEntity.class, pk);
+
+        assertNotNull(object);
+        assertTrue(object instanceof CompoundPkTestEntity);
+        assertEquals("BBB", ((CompoundPkTestEntity) object).getName());
+    }
+
+    @Test
+    public void testCompoundPKForObject() throws Exception {
+        createOneCompoundPK();
+
+        List<?> objects = context
+                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        Map<String, Object> pk = Cayenne.compoundPKForObject(object);
+        assertNotNull(pk);
+        assertEquals(2, pk.size());
+        assertEquals("PK1", pk.get(CompoundPkTestEntity.KEY1_PK_COLUMN));
+        assertEquals("PK2", pk.get(CompoundPkTestEntity.KEY2_PK_COLUMN));
+    }
+
+    @Test
+    public void testIntPKForObjectFailureForCompound() throws Exception {
+        createOneCompoundPK();
+
+        List<?> objects = context
+                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        try {
+            Cayenne.intPKForObject(object);
+            fail("intPKForObject must fail for compound key");
+        }
+        catch (CayenneRuntimeException ex) {
+            // expected
+        }
+    }
+
+    @Test
+    public void testIntPKForObjectFailureForNonNumeric() throws Exception {
+        createOneCharPK();
+
+        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        try {
+            Cayenne.intPKForObject(object);
+            fail("intPKForObject must fail for non-numeric key");
+        }
+        catch (CayenneRuntimeException ex) {
+
+        }
+    }
+
+    @Test
+    public void testPKForObjectFailureForCompound() throws Exception {
+        createOneCompoundPK();
+
+        List<?> objects = context
+                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        try {
+            Cayenne.pkForObject(object);
+            fail("pkForObject must fail for compound key");
+        }
+        catch (CayenneRuntimeException ex) {
+
+        }
+    }
+
+    @Test
+    public void testIntPKForObjectNonNumeric() throws Exception {
+        createOneCharPK();
+
+        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        assertEquals("CPK", Cayenne.pkForObject(object));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
index d2ac438..008bb52 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
@@ -33,15 +33,12 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -50,7 +47,6 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneIT extends ServerCase {
@@ -63,8 +59,6 @@ public class CayenneIT extends ServerCase {
 
     protected TableHelper tArtist;
     protected TableHelper tPainting;
-    protected TableHelper tCompoundPKTest;
-    protected TableHelper tCharPKTest;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -73,9 +67,6 @@ public class CayenneIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
-        dbHelper.deleteAll("CHAR_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -83,19 +74,6 @@ public class CayenneIT extends ServerCase {
         tPainting = new TableHelper(dbHelper, "PAINTING");
         tPainting.setColumns("PAINTING_ID", "ARTIST_ID", "PAINTING_TITLE");
 
-        tCompoundPKTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPKTest.setColumns("KEY1", "KEY2", "NAME");
-
-        tCharPKTest = new TableHelper(dbHelper, "CHAR_PK_TEST");
-        tCharPKTest.setColumns("PK_COL", "OTHER_COL");
-    }
-
-    private void createOneCompoundPK() throws Exception {
-        tCompoundPKTest.insert("PK1", "PK2", "BBB");
-    }
-
-    private void createOneCharPK() throws Exception {
-        tCharPKTest.insert("CPK", "AAAA");
     }
 
     private void createOneArtist() throws Exception {
@@ -133,7 +111,7 @@ public class CayenneIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -286,89 +264,6 @@ public class CayenneIT extends ServerCase {
     }
 
     @Test
-    public void testObjectForPKEntityMapCompound() throws Exception {
-        createOneCompoundPK();
-
-        Map<String, Object> pk = new HashMap<String, Object>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "PK1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "PK2");
-        Object object = Cayenne.objectForPK(context, CompoundPkTestEntity.class, pk);
-
-        assertNotNull(object);
-        assertTrue(object instanceof CompoundPkTestEntity);
-        assertEquals("BBB", ((CompoundPkTestEntity) object).getName());
-    }
-
-    @Test
-    public void testCompoundPKForObject() throws Exception {
-        createOneCompoundPK();
-
-        List<?> objects = context
-                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        Map<String, Object> pk = Cayenne.compoundPKForObject(object);
-        assertNotNull(pk);
-        assertEquals(2, pk.size());
-        assertEquals("PK1", pk.get(CompoundPkTestEntity.KEY1_PK_COLUMN));
-        assertEquals("PK2", pk.get(CompoundPkTestEntity.KEY2_PK_COLUMN));
-    }
-
-    @Test
-    public void testIntPKForObjectFailureForCompound() throws Exception {
-        createOneCompoundPK();
-
-        List<?> objects = context
-                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        try {
-            Cayenne.intPKForObject(object);
-            fail("intPKForObject must fail for compound key");
-        }
-        catch (CayenneRuntimeException ex) {
-            // expected
-        }
-    }
-
-    @Test
-    public void testIntPKForObjectFailureForNonNumeric() throws Exception {
-        createOneCharPK();
-
-        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        try {
-            Cayenne.intPKForObject(object);
-            fail("intPKForObject must fail for non-numeric key");
-        }
-        catch (CayenneRuntimeException ex) {
-
-        }
-    }
-
-    @Test
-    public void testPKForObjectFailureForCompound() throws Exception {
-        createOneCompoundPK();
-
-        List<?> objects = context
-                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        try {
-            Cayenne.pkForObject(object);
-            fail("pkForObject must fail for compound key");
-        }
-        catch (CayenneRuntimeException ex) {
-
-        }
-    }
-
-    @Test
     public void testIntPKForObject() throws Exception {
         createOneArtist();
 
@@ -390,14 +285,4 @@ public class CayenneIT extends ServerCase {
         assertEquals(new Long(33002), Cayenne.pkForObject(object));
     }
 
-    @Test
-    public void testIntPKForObjectNonNumeric() throws Exception {
-        createOneCharPK();
-
-        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        assertEquals("CPK", Cayenne.pkForObject(object));
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
index f0035b0..dcdaa83 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
@@ -22,14 +22,14 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class CompoundPkChangeIT extends ServerCase {
 
     private static final String key1v1 = "-key1-v1-";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
index de99905..8dd8202 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
@@ -23,8 +23,8 @@ import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest1;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest2;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest1;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest2;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -33,7 +33,7 @@ import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.BINARY_PK_PROJECT)
 public class DataContextBinaryPKIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
index 6552b73..c482bd8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
@@ -23,7 +23,7 @@ import org.apache.cayenne.access.types.ByteArrayTypeTest;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.BlobTestEntity;
+import org.apache.cayenne.testdo.lob.BlobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -34,7 +34,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class DataContextBlobIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
index 569b216..8d37950 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
@@ -23,7 +23,7 @@ import org.apache.cayenne.DataRow;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -33,7 +33,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class DataContextCharPKIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
index 9c3779a..2b35330 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
@@ -24,7 +24,7 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -34,7 +34,7 @@ import java.util.List;
 
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.RETURN_TYPES_PROJECT)
 public class DataContextCharTypeIT extends ServerCase {
     
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
index 4cd56eb..68e79bd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
@@ -22,7 +22,7 @@ package org.apache.cayenne.access;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -33,7 +33,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class DataContextClobIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
index c9f4262..9c5932f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 /**
  * Testing relationships with compound keys.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class DataContextCompoundRelIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
index daa9acd..2d43bf5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
@@ -28,11 +28,11 @@ import org.apache.cayenne.query.PrefetchTreeNode;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.Bag;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.Box;
-import org.apache.cayenne.testdo.testmap.BoxInfo;
-import org.apache.cayenne.testdo.testmap.Thing;
+import org.apache.cayenne.testdo.things.Bag;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.Box;
+import org.apache.cayenne.testdo.things.BoxInfo;
+import org.apache.cayenne.testdo.things.Thing;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.THINGS_PROJECT)
 public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
 
     @Inject
@@ -65,11 +65,6 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
     @Inject
     protected DataChannelInterceptor queryInterceptor;
 
-    protected TableHelper tBag;
-    protected TableHelper tBox;
-    protected TableHelper tBoxInfo;
-    protected TableHelper tBall;
-    protected TableHelper tThing;
     protected TableHelper tBoxThing;
 
     @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
new file mode 100644
index 0000000..f42f730
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
@@ -0,0 +1,102 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.testdo.date_time.DateTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Calendar;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+@UseServerRuntime(ServerCase.DATE_TIME_PROJECT)
+public class DataContextEJBQLDateTimeFunctionalExpressionsIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("DATE_TEST");
+    }
+
+    @Test
+    public void testCURRENT_DATE() {
+
+        Calendar cal = Calendar.getInstance();
+        int year = cal.get(Calendar.YEAR);
+
+        DateTestEntity o1 = context.newObject(DateTestEntity.class);
+        cal.set(year - 3, 1, 1);
+        o1.setDateColumn(cal.getTime());
+
+        DateTestEntity o2 = context.newObject(DateTestEntity.class);
+        cal.set(year + 3, 1, 1);
+        o2.setDateColumn(cal.getTime());
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM DateTestEntity d WHERE d.dateColumn > CURRENT_DATE");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testCURRENT_TIME() {
+
+        Calendar cal = Calendar.getInstance();
+        int year = cal.get(Calendar.YEAR);
+
+        DateTestEntity o1 = context.newObject(DateTestEntity.class);
+        cal.set(year, 1, 1, 0, 0, 0);
+        o1.setTimeColumn(cal.getTime());
+
+        DateTestEntity o2 = context.newObject(DateTestEntity.class);
+        cal.set(year, 1, 1, 23, 59, 59);
+        o2.setTimeColumn(cal.getTime());
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM DateTestEntity d WHERE d.timeColumn < CURRENT_TIME");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o1));
+    }
+
+    @Test
+    public void testCURRENT_TIMESTAMP() {
+
+        Calendar cal = Calendar.getInstance();
+        int year = cal.get(Calendar.YEAR);
+        int month = cal.get(Calendar.MONTH);
+        int date = cal.get(Calendar.DATE);
+
+        DateTestEntity o1 = context.newObject(DateTestEntity.class);
+        cal.set(year, month, date, 0, 0, 0);
+        o1.setTimestampColumn(cal.getTime());
+
+        DateTestEntity o2 = context.newObject(DateTestEntity.class);
+        cal.set(year, month, date, 23, 59, 59);
+        o2.setTimestampColumn(cal.getTime());
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM DateTestEntity d WHERE d.timestampColumn < CURRENT_TIMESTAMP");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o1));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
index b364ea7..f29f219 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
@@ -32,7 +32,6 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
-import java.util.List;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -52,8 +51,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
 
     protected TableHelper tPainting;
 
-    protected TableHelper tMeaningfulPKTest1Table;
-
     @Override
     protected void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("PAINTING_INFO");
@@ -61,8 +58,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("MEANINGFUL_PK_DEP");
-        dbHelper.deleteAll("MEANINGFUL_PK_TEST1");
 
         tPainting = new TableHelper(dbHelper, "PAINTING");
         tPainting.setColumns(
@@ -74,9 +69,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
                 Types.BIGINT,
                 Types.VARCHAR,
                 Types.DECIMAL);
-
-        tMeaningfulPKTest1Table = new TableHelper(dbHelper, "MEANINGFUL_PK_TEST1");
-        tMeaningfulPKTest1Table.setColumns("PK_ATTRIBUTE", "DESCR");
     }
 
     protected void createPaintingsDataSet() throws Exception {
@@ -84,13 +76,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         tPainting.insert(33002, null, "P2", 5000);
     }
 
-    protected void createMeaningfulPKDataSet() throws Exception {
-
-        for (int i = 1; i <= 33; i++) {
-            tMeaningfulPKTest1Table.insert(i, "a" + i);
-        }
-    }
-
     @Test
     public void testDeleteNoIdVar() throws Exception {
         createPaintingsDataSet();
@@ -141,24 +126,4 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         assertNull(Cayenne.objectForPK(freshContext, Painting.class, 33002));
     }
 
-    @Test
-    public void testDeleteIdVar() throws Exception {
-
-        createMeaningfulPKDataSet();
-
-        EJBQLQuery q = new EJBQLQuery("select m.pkAttribute from MeaningfulPKTest1 m");
-
-        List<Integer> id = context.performQuery(q);
-
-        String ejbql = "delete from MeaningfulPKTest1 m WHERE m.pkAttribute in (:id)";
-
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("id", id);
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(33, count[0]);
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
new file mode 100644
index 0000000..f532f13
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
@@ -0,0 +1,64 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+@UseServerRuntime(ServerCase.MEANINGFUL_PK_PROJECT)
+public class DataContextEJBQLDeletePKIT extends ServerCase {
+
+    @Inject
+    protected ObjectContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    protected TableHelper tMeaningfulPKTest1Table;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("MEANINGFUL_PK_DEP");
+        dbHelper.deleteAll("MEANINGFUL_PK_TEST1");
+
+        tMeaningfulPKTest1Table = new TableHelper(dbHelper, "MEANINGFUL_PK_TEST1");
+        tMeaningfulPKTest1Table.setColumns("PK_ATTRIBUTE", "DESCR");
+    }
+
+    protected void createMeaningfulPKDataSet() throws Exception {
+        for (int i = 1; i <= 33; i++) {
+            tMeaningfulPKTest1Table.insert(i, "a" + i);
+        }
+    }
+
+    @Test
+    public void testDeleteIdVar() throws Exception {
+
+        createMeaningfulPKDataSet();
+
+        EJBQLQuery q = new EJBQLQuery("select m.pkAttribute from MeaningfulPKTest1 m");
+
+        List<Integer> id = context.performQuery(q);
+
+        String ejbql = "delete from MeaningfulPKTest1 m WHERE m.pkAttribute in (:id)";
+
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("id", id);
+        QueryResponse result = context.performGenericQuery(query);
+
+        int[] count = result.firstUpdateCount();
+        assertNotNull(count);
+        assertEquals(1, count.length);
+        assertEquals(33, count[0]);
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
deleted file mode 100644
index 9c4ae2e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
+++ /dev/null
@@ -1,430 +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.access;
-
-import org.apache.cayenne.Cayenne;
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.query.EJBQLQuery;
-import org.apache.cayenne.query.QueryChain;
-import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BigDecimalEntity;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
-import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Calendar;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-// TODO: renamed as it fails on DB's like Derby. See CAY-1480. 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
-public class DataContextEJBQLFunctionalExpressions extends ServerCase {
-
-    @Inject
-    protected DBHelper dbHelper;
-
-    @Inject
-    private ObjectContext context;
-
-    @Inject
-    private UnitDbAdapter accessStackAdapter;
-
-    @Override
-    protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("PAINTING_INFO");
-        dbHelper.deleteAll("PAINTING");
-        dbHelper.deleteAll("ARTIST_EXHIBIT");
-        dbHelper.deleteAll("ARTIST_GROUP");
-        dbHelper.deleteAll("ARTIST");
-
-        dbHelper.deleteAll("BIGDECIMAL_ENTITY");
-        dbHelper.deleteAll("BIGINTEGER_ENTITY");
-        dbHelper.deleteAll("DATE_TEST");
-    }
-
-    @Test
-    public void testCURRENT_DATE() {
-
-        Calendar cal = Calendar.getInstance();
-        int year = cal.get(Calendar.YEAR);
-
-        DateTestEntity o1 = context.newObject(DateTestEntity.class);
-        cal.set(year - 3, 1, 1);
-        o1.setDateColumn(cal.getTime());
-
-        DateTestEntity o2 = context.newObject(DateTestEntity.class);
-        cal.set(year + 3, 1, 1);
-        o2.setDateColumn(cal.getTime());
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM DateTestEntity d WHERE d.dateColumn > CURRENT_DATE");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testCURRENT_TIME() {
-
-        Calendar cal = Calendar.getInstance();
-        int year = cal.get(Calendar.YEAR);
-
-        DateTestEntity o1 = context.newObject(DateTestEntity.class);
-        cal.set(year, 1, 1, 0, 0, 0);
-        o1.setTimeColumn(cal.getTime());
-
-        DateTestEntity o2 = context.newObject(DateTestEntity.class);
-        cal.set(year, 1, 1, 23, 59, 59);
-        o2.setTimeColumn(cal.getTime());
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM DateTestEntity d WHERE d.timeColumn < CURRENT_TIME");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o1));
-    }
-
-    @Test
-    public void testCURRENT_TIMESTAMP() {
-
-        Calendar cal = Calendar.getInstance();
-        int year = cal.get(Calendar.YEAR);
-        int month = cal.get(Calendar.MONTH);
-        int date = cal.get(Calendar.DATE);
-
-        DateTestEntity o1 = context.newObject(DateTestEntity.class);
-        cal.set(year, month, date, 0, 0, 0);
-        o1.setTimestampColumn(cal.getTime());
-
-        DateTestEntity o2 = context.newObject(DateTestEntity.class);
-        cal.set(year, month, date, 23, 59, 59);
-        o2.setTimestampColumn(cal.getTime());
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM DateTestEntity d WHERE d.timestampColumn < CURRENT_TIMESTAMP");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o1));
-    }
-
-    @Test
-    public void testABS() {
-
-        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
-        o1.setBigDecimalField(new BigDecimal("4.1"));
-
-        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
-        o2.setBigDecimalField(new BigDecimal("-5.1"));
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM BigDecimalEntity d WHERE ABS(d.bigDecimalField) > 4.5");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testSQRT() {
-
-        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
-        o1.setBigDecimalField(new BigDecimal("9"));
-
-        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
-        o2.setBigDecimalField(new BigDecimal("16"));
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM BigDecimalEntity d WHERE SQRT(d.bigDecimalField) > 3.1");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testMOD() {
-
-        BigIntegerEntity o1 = context.newObject(BigIntegerEntity.class);
-        o1.setBigIntegerField(new BigInteger("9"));
-
-        BigIntegerEntity o2 = context.newObject(BigIntegerEntity.class);
-        o2.setBigIntegerField(new BigInteger("10"));
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM BigIntegerEntity d WHERE MOD(d.bigIntegerField, 4) = 2");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testSIZE() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("a1");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("a2");
-
-        Painting p12 = context.newObject(Painting.class);
-        p12.setPaintingTitle("p12");
-        a2.addToPaintingArray(p12);
-        Painting p22 = context.newObject(Painting.class);
-        p22.setPaintingTitle("p22");
-        a2.addToPaintingArray(p22);
-
-        context.commitChanges();
-
-        // this fails:
-        // EJBQLQuery query = new EJBQLQuery(
-        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 2");
-        // List<?> objects = context.performQuery(query);
-        // assertEquals(1, objects.size());
-        // assertTrue(objects.contains(a2));
-        //
-        // EJBQLQuery query2 = new EJBQLQuery(
-        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 0");
-        // List<?> objects2 = context.performQuery(query2);
-        // assertEquals(1, objects2.size());
-        // assertTrue(objects2.contains(a1));
-    }
-
-    @Test
-    public void testCONCAT() {
-
-        Painting a1 = context.newObject(Painting.class);
-        a1.setPaintingTitle("a1");
-
-        Painting a2 = context.newObject(Painting.class);
-        a2.setPaintingTitle("a2");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Painting a WHERE CONCAT(a.paintingTitle, a.paintingTitle) = 'a1a1'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a1));
-    }
-
-    @Test
-    public void testSUBSTRING() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("12345678");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("abcdefg");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE SUBSTRING(a.artistName, 2, 3) = 'bcd'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testLOWER() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("ABCDEFG");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("abcdefg");
-        context.commitChanges();
-
-        Artist a3 = context.newObject(Artist.class);
-        a3.setArtistName("Xabcdefg");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE LOWER(a.artistName) = 'abcdefg'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testUPPER() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("ABCDEFG");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("abcdefg");
-        context.commitChanges();
-
-        Artist a3 = context.newObject(Artist.class);
-        a3.setArtistName("Xabcdefg");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE UPPER(a.artistName) = UPPER('abcdefg')");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testLENGTH() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("1234567");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("1234567890");
-
-        Artist a3 = context.newObject(Artist.class);
-        a3.setArtistName("1234567890-=");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE LENGTH(a.artistName) > 7");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a3));
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testLOCATE() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("___A___");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("_A_____");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE LOCATE('A', a.artistName) = 2");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testTRIM() {
-
-        // insert via a SQL template to prevent adapter trimming and such...
-        QueryChain inserts = new QueryChain();
-        inserts.addQuery(new SQLTemplate(
-                Artist.class,
-                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(1, '  A')"));
-        inserts.addQuery(new SQLTemplate(
-                Artist.class,
-                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(2, 'A  ')"));
-        context.performGenericQuery(inserts);
-
-        Artist a1 = Cayenne.objectForPK(context, Artist.class, 1);
-        Artist a2 = Cayenne.objectForPK(context, Artist.class, 2);
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(a.artistName) = 'A'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(LEADING FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        // this is fuzzy cause some DB trim trailing data by default
-        assertTrue(objects.size() == 1 || objects.size() == 2);
-        assertTrue(objects.contains(a1));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(TRAILING FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(BOTH FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-
-    }
-
-    @Test
-    public void testTRIMChar() {
-
-        if (!accessStackAdapter.supportsTrimChar()) {
-            return;
-        }
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("XXXA");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("AXXX");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM('X' FROM a.artistName) = 'A'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(LEADING 'X' FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a1));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(TRAILING 'X' FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(BOTH 'X' FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
new file mode 100644
index 0000000..cd75d76
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
@@ -0,0 +1,295 @@
+/*****************************************************************
+ *   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.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.query.QueryChain;
+import org.apache.cayenne.query.SQLTemplate;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.testdo.testmap.Artist;
+import org.apache.cayenne.testdo.testmap.Painting;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+// TODO: renamed as it fails on DB's like Derby. See CAY-1480. 
+@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+public class DataContextEJBQLFunctionalExpressionsIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("PAINTING_INFO");
+        dbHelper.deleteAll("PAINTING");
+        dbHelper.deleteAll("ARTIST_EXHIBIT");
+        dbHelper.deleteAll("ARTIST_GROUP");
+        dbHelper.deleteAll("ARTIST");
+    }
+
+    @Test
+    public void testSIZE() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("a1");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("a2");
+
+        Painting p12 = context.newObject(Painting.class);
+        p12.setPaintingTitle("p12");
+        a2.addToPaintingArray(p12);
+        Painting p22 = context.newObject(Painting.class);
+        p22.setPaintingTitle("p22");
+        a2.addToPaintingArray(p22);
+
+        context.commitChanges();
+
+        // this fails:
+        // EJBQLQuery query = new EJBQLQuery(
+        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 2");
+        // List<?> objects = context.performQuery(query);
+        // assertEquals(1, objects.size());
+        // assertTrue(objects.contains(a2));
+        //
+        // EJBQLQuery query2 = new EJBQLQuery(
+        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 0");
+        // List<?> objects2 = context.performQuery(query2);
+        // assertEquals(1, objects2.size());
+        // assertTrue(objects2.contains(a1));
+    }
+
+    @Test
+    public void testCONCAT() {
+
+        Painting a1 = context.newObject(Painting.class);
+        a1.setPaintingTitle("a1");
+
+        Painting a2 = context.newObject(Painting.class);
+        a2.setPaintingTitle("a2");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Painting a WHERE CONCAT(a.paintingTitle, a.paintingTitle) = 'a1a1'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a1));
+    }
+
+    @Test
+    public void testSUBSTRING() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("12345678");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("abcdefg");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE SUBSTRING(a.artistName, 2, 3) = 'bcd'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testLOWER() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("ABCDEFG");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("abcdefg");
+        context.commitChanges();
+
+        Artist a3 = context.newObject(Artist.class);
+        a3.setArtistName("Xabcdefg");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE LOWER(a.artistName) = 'abcdefg'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testUPPER() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("ABCDEFG");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("abcdefg");
+        context.commitChanges();
+
+        Artist a3 = context.newObject(Artist.class);
+        a3.setArtistName("Xabcdefg");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE UPPER(a.artistName) = UPPER('abcdefg')");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testLENGTH() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("1234567");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("1234567890");
+
+        Artist a3 = context.newObject(Artist.class);
+        a3.setArtistName("1234567890-=");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE LENGTH(a.artistName) > 7");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a3));
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testLOCATE() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("___A___");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("_A_____");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE LOCATE('A', a.artistName) = 2");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testTRIM() {
+
+        // insert via a SQL template to prevent adapter trimming and such...
+        QueryChain inserts = new QueryChain();
+        inserts.addQuery(new SQLTemplate(
+                Artist.class,
+                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(1, '  A')"));
+        inserts.addQuery(new SQLTemplate(
+                Artist.class,
+                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(2, 'A  ')"));
+        context.performGenericQuery(inserts);
+
+        Artist a1 = Cayenne.objectForPK(context, Artist.class, 1);
+        Artist a2 = Cayenne.objectForPK(context, Artist.class, 2);
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(a.artistName) = 'A'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(LEADING FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        // this is fuzzy cause some DB trim trailing data by default
+        assertTrue(objects.size() == 1 || objects.size() == 2);
+        assertTrue(objects.contains(a1));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(TRAILING FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(BOTH FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+
+    }
+
+    @Test
+    public void testTRIMChar() {
+
+        if (!accessStackAdapter.supportsTrimChar()) {
+            return;
+        }
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("XXXA");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("AXXX");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM('X' FROM a.artistName) = 'A'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(LEADING 'X' FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a1));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(TRAILING 'X' FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(BOTH 'X' FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
new file mode 100644
index 0000000..b639559
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
@@ -0,0 +1,133 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.numeric_types.BigDecimalEntity;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
+public class DataContextEJBQLNumericalFunctionalIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    private TableHelper tBigIntegerEntity;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("BIGDECIMAL_ENTITY");
+        dbHelper.deleteAll("BIGINTEGER_ENTITY");
+        dbHelper.deleteAll("BOOLEAN_TEST");
+
+        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
+        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
+    }
+
+    @Test
+    public void testABS() {
+
+        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
+        o1.setBigDecimalField(new BigDecimal("4.1"));
+
+        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
+        o2.setBigDecimalField(new BigDecimal("-5.1"));
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM BigDecimalEntity d WHERE ABS(d.bigDecimalField) > 4.5");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testSQRT() {
+
+        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
+        o1.setBigDecimalField(new BigDecimal("9"));
+
+        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
+        o2.setBigDecimalField(new BigDecimal("16"));
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM BigDecimalEntity d WHERE SQRT(d.bigDecimalField) > 3.1");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testMOD() {
+
+        BigIntegerEntity o1 = context.newObject(BigIntegerEntity.class);
+        o1.setBigIntegerField(new BigInteger("9"));
+
+        BigIntegerEntity o2 = context.newObject(BigIntegerEntity.class);
+        o2.setBigIntegerField(new BigInteger("10"));
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM BigIntegerEntity d WHERE MOD(d.bigIntegerField, 4) = 2");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testUpdateNoQualifierBoolean() throws Exception {
+
+        BooleanTestEntity o1 = context.newObject(BooleanTestEntity.class);
+        o1.setBooleanColumn(Boolean.TRUE);
+
+        BooleanTestEntity o2 = context.newObject(BooleanTestEntity.class);
+        o2.setBooleanColumn(Boolean.FALSE);
+
+        BooleanTestEntity o3 = context.newObject(BooleanTestEntity.class);
+        o3.setBooleanColumn(Boolean.FALSE);
+
+        context.commitChanges();
+
+        EJBQLQuery check = new EJBQLQuery("select count(p) from BooleanTestEntity p "
+                + "WHERE p.booleanColumn = true");
+
+        Object notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(1l), notUpdated);
+
+        String ejbql = "UPDATE BooleanTestEntity AS p SET p.booleanColumn = true";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+
+        QueryResponse result = context.performGenericQuery(query);
+
+        int[] count = result.firstUpdateCount();
+        assertNotNull(count);
+        assertEquals(1, count.length);
+        assertEquals(3, count[0]);
+
+        notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(3l), notUpdated);
+    }
+}


[09/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
index 87782a7..02e1a8b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
@@ -25,14 +25,6 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
-import org.apache.cayenne.exp.parser.ASTBitwiseAnd;
-import org.apache.cayenne.exp.parser.ASTBitwiseNot;
-import org.apache.cayenne.exp.parser.ASTBitwiseOr;
-import org.apache.cayenne.exp.parser.ASTBitwiseXor;
-import org.apache.cayenne.exp.parser.ASTEqual;
-import org.apache.cayenne.exp.parser.ASTGreater;
-import org.apache.cayenne.exp.parser.ASTObjPath;
-import org.apache.cayenne.exp.parser.ASTScalar;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
@@ -41,11 +33,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.ArtistExhibit;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
 import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -81,22 +71,6 @@ public class SelectQueryIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("CLOB_TEST_RELATION");
-        dbHelper.deleteAll("TYPES_MAPPING_TEST1");
-
-        if (accessStackAdapter.supportsLobs()) {
-            dbHelper.deleteAll("CLOB_TEST");
-        }
-    }
-
-    protected void createClobDataSet() throws Exception {
-        TableHelper tClobTest = new TableHelper(dbHelper, "CLOB_TEST");
-        tClobTest.setColumns("CLOB_TEST_ID", "CLOB_COL");
-
-        tClobTest.deleteAll();
-
-        tClobTest.insert(1, "clob1");
-        tClobTest.insert(2, "clob2");
     }
 
     protected void createArtistsDataSet() throws Exception {
@@ -118,17 +92,6 @@ public class SelectQueryIT extends ServerCase {
         tArtist.insert(2, "Y_");
     }
 
-    protected void createNumericsDataSet() throws Exception {
-        TableHelper tNumerics = new TableHelper(dbHelper, "TYPES_MAPPING_TEST1");
-        tNumerics.setColumns("AAAID", "INTEGER_COLUMN");
-
-        tNumerics.insert(1, 0);
-        tNumerics.insert(2, 1);
-        tNumerics.insert(3, 2);
-        tNumerics.insert(4, 3);
-        tNumerics.insert(5, 4);
-    }
-
     @Test
     public void testSetQualifier() {
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -375,62 +338,6 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(20, objects.size());
     }
 
-    /** Test how "like ignore case" works when using uppercase parameter. */
-    @Test
-    public void testSelectLikeIgnoreCaseClob() throws Exception {
-        if (accessStackAdapter.supportsLobs()) {
-            createClobDataSet();
-            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
-            Expression qual = ExpressionFactory.likeIgnoreCaseExp("clobCol", "clob%");
-            query.setQualifier(qual);
-            List<?> objects = context.performQuery(query);
-            assertEquals(2, objects.size());
-        }
-    }
-
-    @Test
-    public void testSelectFetchLimit_Offset_DistinctClob() throws Exception {
-        if (accessStackAdapter.supportsLobs()) {
-            createClobDataSet();
-
-            // see CAY-1539... CLOB column causes suppression of DISTINCT in
-            // SQL, and hence the offset processing is done in memory
-            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
-            query.addOrdering("db:" + ClobTestEntity.CLOB_TEST_ID_PK_COLUMN, SortOrder.ASCENDING);
-            query.setFetchLimit(1);
-            query.setFetchOffset(1);
-            query.setDistinct(true);
-
-            List<ClobTestEntity> objects = context.performQuery(query);
-            assertEquals(1, objects.size());
-            assertEquals(2, Cayenne.intPKForObject(objects.get(0)));
-        }
-    }
-
-    @Test
-    public void testSelectEqualsClob() throws Exception {
-        if (accessStackAdapter.supportsLobComparisons()) {
-            createClobDataSet();
-            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
-            Expression qual = ExpressionFactory.matchExp("clobCol", "clob1");
-            query.setQualifier(qual);
-            List<?> objects = context.performQuery(query);
-            assertEquals(1, objects.size());
-        }
-    }
-
-    @Test
-    public void testSelectNotEqualsClob() throws Exception {
-        if (accessStackAdapter.supportsLobComparisons()) {
-            createClobDataSet();
-            SelectQuery query = new SelectQuery(ClobTestEntity.class);
-            Expression qual = ExpressionFactory.noMatchExp("clobCol", "clob1");
-            query.setQualifier(qual);
-            List<?> objects = context.performQuery(query);
-            assertEquals(1, objects.size());
-        }
-    }
-
     @Test
     public void testSelectIn() throws Exception {
         createArtistsDataSet();
@@ -506,102 +413,6 @@ public class SelectQueryIT extends ServerCase {
     }
 
     @Test
-    public void testSelectBitwiseNot() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseNot(new ASTBitwiseNot(new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY)));
-        Expression right = new ASTScalar(2);
-        Expression greater = new ASTGreater();
-        greater.setOperand(0, left);
-        greater.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(greater);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-    }
-
-    @Test
-    public void testSelectBitwiseOr() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseOr(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
-                new ASTScalar(1) });
-        Expression right = new ASTScalar(1);
-        Expression equal = new ASTEqual();
-        equal.setOperand(0, left);
-        equal.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(equal);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-    }
-
-    @Test
-    public void testSelectBitwiseAnd() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseAnd(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
-                new ASTScalar(1) });
-        Expression right = new ASTScalar(0);
-        Expression equal = new ASTEqual();
-        equal.setOperand(0, left);
-        equal.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(equal);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(3, objects.size());
-    }
-
-    @Test
-    public void testSelectBitwiseXor() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseXor(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
-                new ASTScalar(1) });
-        Expression right = new ASTScalar(5);
-        Expression equal = new ASTEqual();
-        equal.setOperand(0, left);
-        equal.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(equal);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertEquals(4, objects.get(0).getIntegerColumn().intValue());
-    }
-
-    @Test
     public void testSelectBooleanNotTrueOr() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
new file mode 100644
index 0000000..da3d2b4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
@@ -0,0 +1,149 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.parser.ASTBitwiseAnd;
+import org.apache.cayenne.exp.parser.ASTBitwiseNot;
+import org.apache.cayenne.exp.parser.ASTBitwiseOr;
+import org.apache.cayenne.exp.parser.ASTBitwiseXor;
+import org.apache.cayenne.exp.parser.ASTEqual;
+import org.apache.cayenne.exp.parser.ASTGreater;
+import org.apache.cayenne.exp.parser.ASTObjPath;
+import org.apache.cayenne.exp.parser.ASTScalar;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.RETURN_TYPES_PROJECT)
+public class SelectQueryReturnTypesIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("TYPES_MAPPING_TEST1");
+    }
+
+    protected void createNumericsDataSet() throws Exception {
+        TableHelper tNumerics = new TableHelper(dbHelper, "TYPES_MAPPING_TEST1");
+        tNumerics.setColumns("AAAID", "INTEGER_COLUMN");
+
+        tNumerics.insert(1, 0);
+        tNumerics.insert(2, 1);
+        tNumerics.insert(3, 2);
+        tNumerics.insert(4, 3);
+        tNumerics.insert(5, 4);
+    }
+
+    @Test
+    public void testSelectBitwiseNot() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseNot(new ASTBitwiseNot(new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY)));
+        Expression right = new ASTScalar(2);
+        Expression greater = new ASTGreater();
+        greater.setOperand(0, left);
+        greater.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(greater);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+    }
+
+    @Test
+    public void testSelectBitwiseOr() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseOr(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
+                new ASTScalar(1) });
+        Expression right = new ASTScalar(1);
+        Expression equal = new ASTEqual();
+        equal.setOperand(0, left);
+        equal.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(equal);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+    }
+
+    @Test
+    public void testSelectBitwiseAnd() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseAnd(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
+                new ASTScalar(1) });
+        Expression right = new ASTScalar(0);
+        Expression equal = new ASTEqual();
+        equal.setOperand(0, left);
+        equal.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(equal);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(3, objects.size());
+    }
+
+    @Test
+    public void testSelectBitwiseXor() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseXor(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
+                new ASTScalar(1) });
+        Expression right = new ASTScalar(5);
+        Expression equal = new ASTEqual();
+        equal.setOperand(0, left);
+        equal.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(equal);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertEquals(4, objects.get(0).getIntegerColumn().intValue());
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
index 590c170..31a53f0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
@@ -25,8 +25,8 @@ import org.apache.cayenne.ValueHolder;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Tests conflicts between field and map-based persistence.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MIXED_PERSISTENCE_STRATEGY_PROJECT)
 public class MixedPersistenceStrategyIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java
new file mode 100644
index 0000000..8722f87
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.binary_pk;
+
+import org.apache.cayenne.testdo.binary_pk.auto._BinaryPKTest1;
+
+public class BinaryPKTest1 extends _BinaryPKTest1 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java
new file mode 100644
index 0000000..de0a1e1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.binary_pk;
+
+import org.apache.cayenne.testdo.binary_pk.auto._BinaryPKTest2;
+
+public class BinaryPKTest2 extends _BinaryPKTest2 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java
new file mode 100644
index 0000000..643892a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.binary_pk.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest2;
+
+/**
+ * Class _BinaryPKTest1 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 _BinaryPKTest1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String BINARY_PKDETAILS_PROPERTY = "binaryPKDetails";
+
+    public static final String BIN_ID_PK_COLUMN = "BIN_ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<BinaryPKTest2>> BINARY_PKDETAILS = new Property<List<BinaryPKTest2>>("binaryPKDetails");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToBinaryPKDetails(BinaryPKTest2 obj) {
+        addToManyTarget("binaryPKDetails", obj, true);
+    }
+    public void removeFromBinaryPKDetails(BinaryPKTest2 obj) {
+        removeToManyTarget("binaryPKDetails", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<BinaryPKTest2> getBinaryPKDetails() {
+        return (List<BinaryPKTest2>)readProperty("binaryPKDetails");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java
new file mode 100644
index 0000000..6279946
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.binary_pk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest1;
+
+/**
+ * Class _BinaryPKTest2 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 _BinaryPKTest2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DETAIL_NAME_PROPERTY = "detailName";
+    @Deprecated
+    public static final String TO_BINARY_PKMASTER_PROPERTY = "toBinaryPKMaster";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> DETAIL_NAME = new Property<String>("detailName");
+    public static final Property<BinaryPKTest1> TO_BINARY_PKMASTER = new Property<BinaryPKTest1>("toBinaryPKMaster");
+
+    public void setDetailName(String detailName) {
+        writeProperty("detailName", detailName);
+    }
+    public String getDetailName() {
+        return (String)readProperty("detailName");
+    }
+
+    public void setToBinaryPKMaster(BinaryPKTest1 toBinaryPKMaster) {
+        setToOneTarget("toBinaryPKMaster", toBinaryPKMaster, true);
+    }
+
+    public BinaryPKTest1 getToBinaryPKMaster() {
+        return (BinaryPKTest1)readProperty("toBinaryPKMaster");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java
new file mode 100644
index 0000000..c093da3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CharFkTestEntity;
+
+public class CharFkTestEntity extends _CharFkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java
new file mode 100644
index 0000000..8e8f6c6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CharPkTestEntity;
+
+public class CharPkTestEntity extends _CharPkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java
new file mode 100644
index 0000000..4dbd0f2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CompoundFkTestEntity;
+
+public class CompoundFkTestEntity extends _CompoundFkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java
new file mode 100644
index 0000000..41c313b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CompoundPkTestEntity;
+
+public class CompoundPkTestEntity extends _CompoundPkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java
new file mode 100644
index 0000000..08982d4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
+
+/**
+ * Class _CharFkTestEntity 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 _CharFkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_CHAR_PK_PROPERTY = "toCharPK";
+
+    public static final String PK_PK_COLUMN = "PK";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<CharPkTestEntity> TO_CHAR_PK = new Property<CharPkTestEntity>("toCharPK");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToCharPK(CharPkTestEntity toCharPK) {
+        setToOneTarget("toCharPK", toCharPK, true);
+    }
+
+    public CharPkTestEntity getToCharPK() {
+        return (CharPkTestEntity)readProperty("toCharPK");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java
new file mode 100644
index 0000000..5711aaf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java
@@ -0,0 +1,58 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CharFkTestEntity;
+
+/**
+ * Class _CharPkTestEntity 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 _CharPkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String OTHER_COL_PROPERTY = "otherCol";
+    @Deprecated
+    public static final String PK_COL_PROPERTY = "pkCol";
+    @Deprecated
+    public static final String CHAR_FKS_PROPERTY = "charFKs";
+
+    public static final String PK_COL_PK_COLUMN = "PK_COL";
+
+    public static final Property<String> OTHER_COL = new Property<String>("otherCol");
+    public static final Property<String> PK_COL = new Property<String>("pkCol");
+    public static final Property<List<CharFkTestEntity>> CHAR_FKS = new Property<List<CharFkTestEntity>>("charFKs");
+
+    public void setOtherCol(String otherCol) {
+        writeProperty("otherCol", otherCol);
+    }
+    public String getOtherCol() {
+        return (String)readProperty("otherCol");
+    }
+
+    public void setPkCol(String pkCol) {
+        writeProperty("pkCol", pkCol);
+    }
+    public String getPkCol() {
+        return (String)readProperty("pkCol");
+    }
+
+    public void addToCharFKs(CharFkTestEntity obj) {
+        addToManyTarget("charFKs", obj, true);
+    }
+    public void removeFromCharFKs(CharFkTestEntity obj) {
+        removeToManyTarget("charFKs", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<CharFkTestEntity> getCharFKs() {
+        return (List<CharFkTestEntity>)readProperty("charFKs");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java
new file mode 100644
index 0000000..5032419
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+
+/**
+ * Class _CompoundFkTestEntity 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 _CompoundFkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_COMPOUND_PK_PROPERTY = "toCompoundPk";
+
+    public static final String PKEY_PK_COLUMN = "PKEY";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<CompoundPkTestEntity> TO_COMPOUND_PK = new Property<CompoundPkTestEntity>("toCompoundPk");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToCompoundPk(CompoundPkTestEntity toCompoundPk) {
+        setToOneTarget("toCompoundPk", toCompoundPk, true);
+    }
+
+    public CompoundPkTestEntity getToCompoundPk() {
+        return (CompoundPkTestEntity)readProperty("toCompoundPk");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java
new file mode 100644
index 0000000..c6ca8ef
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java
@@ -0,0 +1,69 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+
+/**
+ * Class _CompoundPkTestEntity 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 _CompoundPkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String KEY1_PROPERTY = "key1";
+    @Deprecated
+    public static final String KEY2_PROPERTY = "key2";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String COMPOUND_FK_ARRAY_PROPERTY = "compoundFkArray";
+
+    public static final String KEY1_PK_COLUMN = "KEY1";
+    public static final String KEY2_PK_COLUMN = "KEY2";
+
+    public static final Property<String> KEY1 = new Property<String>("key1");
+    public static final Property<String> KEY2 = new Property<String>("key2");
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<CompoundFkTestEntity>> COMPOUND_FK_ARRAY = new Property<List<CompoundFkTestEntity>>("compoundFkArray");
+
+    public void setKey1(String key1) {
+        writeProperty("key1", key1);
+    }
+    public String getKey1() {
+        return (String)readProperty("key1");
+    }
+
+    public void setKey2(String key2) {
+        writeProperty("key2", key2);
+    }
+    public String getKey2() {
+        return (String)readProperty("key2");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToCompoundFkArray(CompoundFkTestEntity obj) {
+        addToManyTarget("compoundFkArray", obj, true);
+    }
+    public void removeFromCompoundFkArray(CompoundFkTestEntity obj) {
+        removeToManyTarget("compoundFkArray", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<CompoundFkTestEntity> getCompoundFkArray() {
+        return (List<CompoundFkTestEntity>)readProperty("compoundFkArray");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java
new file mode 100644
index 0000000..567347d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.date_time;
+
+import org.apache.cayenne.testdo.date_time.auto._CalendarEntity;
+
+public class CalendarEntity extends _CalendarEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java
new file mode 100644
index 0000000..fabe47f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.date_time;
+
+import org.apache.cayenne.testdo.date_time.auto._DateTestEntity;
+
+public class DateTestEntity extends _DateTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java
new file mode 100644
index 0000000..b3a8f50
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.date_time.auto;
+
+import java.util.Calendar;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _CalendarEntity 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 _CalendarEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CALENDAR_FIELD_PROPERTY = "calendarField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Calendar> CALENDAR_FIELD = new Property<Calendar>("calendarField");
+
+    public void setCalendarField(Calendar calendarField) {
+        writeProperty("calendarField", calendarField);
+    }
+    public Calendar getCalendarField() {
+        return (Calendar)readProperty("calendarField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java
new file mode 100644
index 0000000..10163cc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java
@@ -0,0 +1,52 @@
+package org.apache.cayenne.testdo.date_time.auto;
+
+import java.util.Date;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _DateTestEntity 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 _DateTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
+    @Deprecated
+    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
+    @Deprecated
+    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
+
+    public static final String DATE_TEST_ID_PK_COLUMN = "DATE_TEST_ID";
+
+    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
+    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
+    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
+
+    public void setDateColumn(Date dateColumn) {
+        writeProperty("dateColumn", dateColumn);
+    }
+    public Date getDateColumn() {
+        return (Date)readProperty("dateColumn");
+    }
+
+    public void setTimeColumn(Date timeColumn) {
+        writeProperty("timeColumn", timeColumn);
+    }
+    public Date getTimeColumn() {
+        return (Date)readProperty("timeColumn");
+    }
+
+    public void setTimestampColumn(Date timestampColumn) {
+        writeProperty("timestampColumn", timestampColumn);
+    }
+    public Date getTimestampColumn() {
+        return (Date)readProperty("timestampColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java
new file mode 100644
index 0000000..9b83083
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java
@@ -0,0 +1,23 @@
+/*****************************************************************
+ *   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.enum_test;
+
+public enum Enum1 {
+    one, two, three
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.java
new file mode 100644
index 0000000..c7002af
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.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.enum_test;
+
+import org.apache.cayenne.testdo.enum_test.auto._EnumEntity;
+
+public class EnumEntity extends _EnumEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java
new file mode 100644
index 0000000..ed1fee6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java
@@ -0,0 +1,31 @@
+package org.apache.cayenne.testdo.enum_test.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.enum_test.Enum1;
+
+/**
+ * Class _EnumEntity 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 _EnumEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ENUM_ATTRIBUTE_PROPERTY = "enumAttribute";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Enum1> ENUM_ATTRIBUTE = new Property<Enum1>("enumAttribute");
+
+    public void setEnumAttribute(Enum1 enumAttribute) {
+        writeProperty("enumAttribute", enumAttribute);
+    }
+    public Enum1 getEnumAttribute() {
+        return (Enum1)readProperty("enumAttribute");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.java
new file mode 100644
index 0000000..28de153
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.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.extended_type;
+
+import org.apache.cayenne.testdo.extended_type.auto._ExtendedTypeEntity;
+
+public class ExtendedTypeEntity extends _ExtendedTypeEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java
new file mode 100644
index 0000000..9f5da53
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java
@@ -0,0 +1,35 @@
+/*****************************************************************
+ *   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.extended_type;
+
+/**
+ * A test extended type.
+ */
+public class StringET1 {
+
+    protected String string;
+
+    public StringET1(String string) {
+        this.string = string;
+    }
+
+    public String getString() {
+        return string;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java
new file mode 100644
index 0000000..69cfd39
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java
@@ -0,0 +1,62 @@
+/*****************************************************************
+ *   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.extended_type;
+
+import org.apache.cayenne.access.types.ExtendedType;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
+public class StringET1ExtendedType implements ExtendedType {
+
+    @Override
+    public String getClassName() {
+        return StringET1.class.getName();
+    }
+
+    @Override
+    public Object materializeObject(ResultSet rs, int index, int type) throws Exception {
+        String string = rs.getString(index);
+        return string != null ? new StringET1(string) : null;
+    }
+
+    @Override
+    public Object materializeObject(CallableStatement rs, int index, int type)
+            throws Exception {
+        String string = rs.getString(index);
+        return string != null ? new StringET1(string) : null;
+    }
+
+    @Override
+    public void setJdbcObject(
+            PreparedStatement statement,
+            Object value,
+            int pos,
+            int type,
+            int precision) throws Exception {
+
+        if (value instanceof StringET1) {
+            statement.setString(pos, ((StringET1) value).getString());
+        }
+        else {
+            statement.setNull(pos, type);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java
new file mode 100644
index 0000000..e71a1b5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java
@@ -0,0 +1,31 @@
+package org.apache.cayenne.testdo.extended_type.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.extended_type.StringET1;
+
+/**
+ * Class _ExtendedTypeEntity 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 _ExtendedTypeEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<StringET1> NAME = new Property<StringET1>("name");
+
+    public void setName(StringET1 name) {
+        writeProperty("name", name);
+    }
+    public StringET1 getName() {
+        return (StringET1)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java
new file mode 100644
index 0000000..2c9413d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnCompKey;
+
+public class GeneratedColumnCompKey extends _GeneratedColumnCompKey {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java
new file mode 100644
index 0000000..bdf4416
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnCompMaster;
+
+public class GeneratedColumnCompMaster extends _GeneratedColumnCompMaster {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java
new file mode 100644
index 0000000..86360a2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnDep;
+
+public class GeneratedColumnDep extends _GeneratedColumnDep {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java
new file mode 100644
index 0000000..0d10263
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnTest2;
+
+public class GeneratedColumnTest2 extends _GeneratedColumnTest2 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java
new file mode 100644
index 0000000..ea759f4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnTestEntity;
+
+public class GeneratedColumnTestEntity extends _GeneratedColumnTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.java
new file mode 100644
index 0000000..d24761e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.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.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedF1;
+
+public class GeneratedF1 extends _GeneratedF1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.java
new file mode 100644
index 0000000..cb9dff5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.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.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedF2;
+
+public class GeneratedF2 extends _GeneratedF2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java
new file mode 100644
index 0000000..78e9132
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java
@@ -0,0 +1,45 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster;
+
+/**
+ * Class _GeneratedColumnCompKey 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 _GeneratedColumnCompKey extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_MASTER_PROPERTY = "toMaster";
+
+    public static final String AUTO_PK_PK_COLUMN = "AUTO_PK";
+    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
+    public static final String PROPAGATED_PK_PK_COLUMN = "PROPAGATED_PK";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<GeneratedColumnCompMaster> TO_MASTER = new Property<GeneratedColumnCompMaster>("toMaster");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToMaster(GeneratedColumnCompMaster toMaster) {
+        setToOneTarget("toMaster", toMaster, true);
+    }
+
+    public GeneratedColumnCompMaster getToMaster() {
+        return (GeneratedColumnCompMaster)readProperty("toMaster");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java
new file mode 100644
index 0000000..16d97ed
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompKey;
+
+/**
+ * Class _GeneratedColumnCompMaster 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 _GeneratedColumnCompMaster extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_DETAIL_PROPERTY = "toDetail";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<GeneratedColumnCompKey>> TO_DETAIL = new Property<List<GeneratedColumnCompKey>>("toDetail");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToToDetail(GeneratedColumnCompKey obj) {
+        addToManyTarget("toDetail", obj, true);
+    }
+    public void removeFromToDetail(GeneratedColumnCompKey obj) {
+        removeToManyTarget("toDetail", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<GeneratedColumnCompKey> getToDetail() {
+        return (List<GeneratedColumnCompKey>)readProperty("toDetail");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java
new file mode 100644
index 0000000..38be7ff
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+
+/**
+ * Class _GeneratedColumnDep 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 _GeneratedColumnDep extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_MASTER_PROPERTY = "toMaster";
+
+    public static final String GENERATED_COLUMN_FK_PK_COLUMN = "GENERATED_COLUMN_FK";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<GeneratedColumnTestEntity> TO_MASTER = new Property<GeneratedColumnTestEntity>("toMaster");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToMaster(GeneratedColumnTestEntity toMaster) {
+        setToOneTarget("toMaster", toMaster, true);
+    }
+
+    public GeneratedColumnTestEntity getToMaster() {
+        return (GeneratedColumnTestEntity)readProperty("toMaster");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java
new file mode 100644
index 0000000..3628bfb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _GeneratedColumnTest2 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 _GeneratedColumnTest2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
+
+    public static final Property<String> NAME = new Property<String>("name");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java
new file mode 100644
index 0000000..8c82030
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnDep;
+
+/**
+ * Class _GeneratedColumnTestEntity 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 _GeneratedColumnTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_DEP_PROPERTY = "toDep";
+
+    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<GeneratedColumnDep> TO_DEP = new Property<GeneratedColumnDep>("toDep");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToDep(GeneratedColumnDep toDep) {
+        setToOneTarget("toDep", toDep, true);
+    }
+
+    public GeneratedColumnDep getToDep() {
+        return (GeneratedColumnDep)readProperty("toDep");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java
new file mode 100644
index 0000000..d93337d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java
@@ -0,0 +1,38 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedF2;
+
+/**
+ * Class _GeneratedF1 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 _GeneratedF1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String F2_PROPERTY = "f2";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<List<GeneratedF2>> F2 = new Property<List<GeneratedF2>>("f2");
+
+    public void addToF2(GeneratedF2 obj) {
+        addToManyTarget("f2", obj, true);
+    }
+    public void removeFromF2(GeneratedF2 obj) {
+        removeToManyTarget("f2", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<GeneratedF2> getF2() {
+        return (List<GeneratedF2>)readProperty("f2");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java
new file mode 100644
index 0000000..048e8a5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java
@@ -0,0 +1,38 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedF1;
+
+/**
+ * Class _GeneratedF2 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 _GeneratedF2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String F1_PROPERTY = "f1";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<List<GeneratedF1>> F1 = new Property<List<GeneratedF1>>("f1");
+
+    public void addToF1(GeneratedF1 obj) {
+        addToManyTarget("f1", obj, true);
+    }
+    public void removeFromF1(GeneratedF1 obj) {
+        removeToManyTarget("f1", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<GeneratedF1> getF1() {
+        return (List<GeneratedF1>)readProperty("f1");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.java
deleted file mode 100644
index 85ea4e0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.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.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._AbstractSuperEntity;
-
-public abstract class AbstractSuperEntity extends _AbstractSuperEntity {
-
-}


[02/11] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/tstmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/tstmap.map.xml b/cayenne-server/src/test/resources/tstmap.map.xml
deleted file mode 100644
index 2539b3e..0000000
--- a/cayenne-server/src/test/resources/tstmap.map.xml
+++ /dev/null
@@ -1,868 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
-	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
-	 project-version="7">
-	<property name="defaultPackage" value="org.apache.cayenne.testdo.testmap"/>
-	<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
-	<property name="clientSupported" value="true"/>
-	<property name="defaultClientPackage" value="test.client"/>
-	<property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
-	<procedure name="cayenne_tst_out_proc">
-		<procedure-parameter name="in_param" type="INTEGER" direction="in"/>
-		<procedure-parameter name="out_param" type="INTEGER" direction="out"/>
-	</procedure>
-	<procedure name="cayenne_tst_select_proc">
-		<procedure-parameter name="aName" type="VARCHAR" length="254" direction="in"/>
-		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
-	</procedure>
-	<procedure name="cayenne_tst_upd_proc">
-		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
-	</procedure>
-	<procedure name="cayenne_tst_upd_proc2">
-	</procedure>
-	<db-entity name="ARRAYS_ENTITY">
-		<db-attribute name="BYTE_ARRAY" type="VARBINARY" length="200"/>
-		<db-attribute name="BYTE_WRAPPER_ARRAY" type="VARBINARY" length="200"/>
-		<db-attribute name="CHAR_ARRAY" type="VARCHAR" length="200"/>
-		<db-attribute name="CHAR_WRAPPER_ARRAY" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="ARTGROUP">
-		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-		<db-attribute name="PARENT_GROUP_ID" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="ARTIST">
-		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
-		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
-	</db-entity>
-	<db-entity name="ARTIST_CT">
-		<db-attribute name="ARTIST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
-		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
-	</db-entity>
-	<db-entity name="ARTIST_EXHIBIT">
-		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="ARTIST_GROUP">
-		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BAG">
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="BALL">
-		<db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BIGDECIMAL_ENTITY">
-		<db-attribute name="BIGDECIMAL_FIELD" type="NUMERIC" length="12" scale="2"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BIGINTEGER_ENTITY">
-		<db-attribute name="BIG_INTEGER_FIELD" type="BIGINT"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BINARY_PK_TEST1">
-		<db-attribute name="BIN_ID" type="VARBINARY" isPrimaryKey="true" isMandatory="true" length="32"/>
-		<db-attribute name="NAME" type="VARCHAR" length="10"/>
-	</db-entity>
-	<db-entity name="BINARY_PK_TEST2">
-		<db-attribute name="DETAIL_NAME" type="VARCHAR" length="10"/>
-		<db-attribute name="FK_ID" type="VARBINARY" length="32"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BIT_TEST">
-		<db-attribute name="BIT_COLUMN" type="BIT" isMandatory="true"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BLOB_TEST">
-		<db-attribute name="BLOB_COL" type="BLOB"/>
-		<db-attribute name="BLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BOOLEAN_TEST">
-		<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN" isMandatory="true"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BOX">
-		<db-attribute name="BAG_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="BOX_INFO">
-		<db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="COLOR" type="VARCHAR" isMandatory="true" length="200"/>
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BOX_THING">
-		<db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CALENDAR_TEST">
-		<db-attribute name="CALENDAR_FIELD" type="TIMESTAMP"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CHARACTER_ENTITY">
-		<db-attribute name="CHARACTER_FIELD" type="CHAR" length="1"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CHAR_FK_TEST">
-		<db-attribute name="FK_COL" type="CHAR" length="10"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-		<db-attribute name="PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CHAR_PK_TEST">
-		<db-attribute name="OTHER_COL" type="CHAR" length="10"/>
-		<db-attribute name="PK_COL" type="CHAR" isPrimaryKey="true" isMandatory="true" length="10"/>
-	</db-entity>
-	<db-entity name="CLOB_TEST">
-		<db-attribute name="CLOB_COL" type="CLOB"/>
-		<db-attribute name="CLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CLOB_TEST_RELATION">
-		<db-attribute name="CVALUE" type="INTEGER"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="ID_CLOB" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="COMPOUND_FK_TEST">
-		<db-attribute name="F_KEY1" type="VARCHAR" length="20"/>
-		<db-attribute name="F_KEY2" type="VARCHAR" length="20"/>
-		<db-attribute name="NAME" type="VARCHAR" length="255"/>
-		<db-attribute name="PKEY" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="COMPOUND_PK_TEST">
-		<db-attribute name="KEY1" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
-		<db-attribute name="KEY2" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
-		<db-attribute name="NAME" type="VARCHAR" length="255"/>
-	</db-entity>
-	<db-entity name="DATE_TEST">
-		<db-attribute name="DATE_COLUMN" type="DATE"/>
-		<db-attribute name="DATE_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
-		<db-attribute name="TIME_COLUMN" type="TIME"/>
-	</db-entity>
-	<db-entity name="DECIMAL_PK_TST">
-		<db-attribute name="DECIMAL_PK" type="DECIMAL" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="ENUM_ENTITY">
-		<db-attribute name="ENUM_ATTRIBUTE" type="VARCHAR" length="250"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="EXHIBIT">
-		<db-attribute name="CLOSING_DATE" type="TIMESTAMP" isMandatory="true"/>
-		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GALLERY_ID" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="OPENING_DATE" type="TIMESTAMP" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="EXTENDED_TYPE_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="FLOAT_TEST">
-		<db-attribute name="FLOAT_COL" type="FLOAT"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GALLERY">
-		<db-attribute name="GALLERY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GALLERY_NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_COMP_KEY">
-		<db-attribute name="AUTO_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-		<db-attribute name="PROPAGATED_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_COMP_M">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_DEP">
-		<db-attribute name="GENERATED_COLUMN_FK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_TEST">
-		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="250"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_TEST2">
-		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_F1">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GENERATED_F2">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GENERATED_JOIN">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="ID1" type="INTEGER"/>
-		<db-attribute name="ID2" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="LONG_ENTITY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="LONG_FIELD" type="BIGINT"/>
-	</db-entity>
-	<db-entity name="MEANINGFUL_PK_DEP">
-		<db-attribute name="DESCR" type="VARCHAR" length="50"/>
-		<db-attribute name="MASTER_PK" type="INTEGER"/>
-		<db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="MEANINGFUL_PK_TEST1">
-		<db-attribute name="DESCR" type="VARCHAR" length="50"/>
-		<db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="MIXED_PERSISTENCE_STRATEGY">
-		<db-attribute name="DESCRIPTION" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="MIXED_PERSISTENCE_STRATEGY2">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="MASTER_ID" type="INTEGER"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="NO_PK_TEST">
-		<db-attribute name="ATTRIBUTE1" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="NULL_TEST">
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="PAINTING">
-		<db-attribute name="ARTIST_ID" type="BIGINT"/>
-		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
-		<db-attribute name="GALLERY_ID" type="INTEGER"/>
-		<db-attribute name="PAINTING_DESCRIPTION" type="VARCHAR" length="255"/>
-		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
-	</db-entity>
-	<db-entity name="PAINTING1">
-		<db-attribute name="ARTIST_ID" type="BIGINT"/>
-		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
-		<db-attribute name="GALLERY_ID" type="INTEGER"/>
-		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
-	</db-entity>
-	<db-entity name="PAINTING_INFO">
-		<db-attribute name="IMAGE_BLOB" type="LONGVARBINARY"/>
-		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="TEXT_REVIEW" type="LONGVARCHAR"/>
-	</db-entity>
-	<db-entity name="PRIMITIVES_TEST">
-		<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="INT_COLUMN" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="SERIALIZABLE_ENTITY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="SERIALIZABLE_FIELD" type="BLOB"/>
-	</db-entity>
-	<db-entity name="SMALLINT_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="SMALLINT_COL" type="SMALLINT"/>
-	</db-entity>
-	<db-entity name="THING">
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="VOLUME" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="WEIGHT" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="TINYINT_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="TINYINT_COL" type="TINYINT"/>
-	</db-entity>
-	<db-entity name="TYPES_MAPPING_LOBS_TEST1">
-		<db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="CLOB_COLUMN" type="CLOB"/>
-	</db-entity>
-	<db-entity name="TYPES_MAPPING_TEST1">
-		<db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="BIGINT_COLUMN" type="BIGINT"/>
-		<db-attribute name="BIT_COLUMN" type="BIT"/>
-		<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
-		<db-attribute name="CHAR_COLUMN" type="CHAR" length="254"/>
-		<db-attribute name="DATE_COLUMN" type="DATE"/>
-		<db-attribute name="DECIMAL_COLUMN" type="DECIMAL" length="12" scale="5"/>
-		<db-attribute name="DOUBLE_COLUMN" type="DOUBLE" scale="7"/>
-		<db-attribute name="FLOAT_COLUMN" type="FLOAT" scale="3"/>
-		<db-attribute name="INTEGER_COLUMN" type="INTEGER"/>
-		<db-attribute name="LONGVARCHAR_COLUMN" type="LONGVARCHAR"/>
-		<db-attribute name="NUMERIC_COLUMN" type="NUMERIC" length="12" scale="5"/>
-		<db-attribute name="REAL_COLUMN" type="REAL" scale="5"/>
-		<db-attribute name="SMALLINT_COLUMN" type="SMALLINT"/>
-		<db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
-		<db-attribute name="TIME_COLUMN" type="TIME"/>
-		<db-attribute name="TINYINT_COLUMN" type="TINYINT"/>
-		<db-attribute name="VARCHAR_COLUMN" type="VARCHAR" length="255"/>
-	</db-entity>
-	<db-entity name="TYPES_MAPPING_TEST2">
-		<db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="BINARY_COLUMN" type="BINARY" length="14"/>
-		<db-attribute name="BLOB_COLUMN" type="BLOB"/>
-		<db-attribute name="LONGVARBINARY_COLUMN" type="LONGVARBINARY"/>
-		<db-attribute name="VARBINARY_COLUMN" type="VARBINARY" length="1000"/>
-	</db-entity>
-	<db-entity name="UUID_PK_ENTITY">
-		<db-attribute name="ID" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="UUID_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="UUID" type="VARCHAR" length="100"/>
-	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
-		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
-		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
-		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
-		<obj-attribute name="charWrapperArray" type="java.lang.Character[]" db-attribute-path="CHAR_WRAPPER_ARRAY"/>
-	</obj-entity>
-	<obj-entity name="ArtGroup" className="org.apache.cayenne.testdo.testmap.ArtGroup" dbEntityName="ARTGROUP">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Artist" className="org.apache.cayenne.testdo.testmap.Artist" dbEntityName="ARTIST">
-		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
-		<obj-attribute name="dateOfBirth" type="java.util.Date" db-attribute-path="DATE_OF_BIRTH"/>
-	</obj-entity>
-	<obj-entity name="ArtistCallback" className="org.apache.cayenne.testdo.testmap.ArtistCallback" dbEntityName="ARTIST_CT" exclude-superclass-listeners="true" exclude-default-listeners="true">
-		<obj-attribute name="artistName" type="java.lang.String"/>
-		<obj-attribute name="dateOfBirth" type="java.util.Date"/>
-		<post-add method-name="prePersistEntityObjEntity"/>
-		<post-persist method-name="postPersistEntityObjEntity"/>
-		<pre-update method-name="preUpdateEntityObjEntity"/>
-		<post-update method-name="postUpdateEntityObjEntity"/>
-		<pre-remove method-name="preRemoveEntityObjEntity"/>
-		<post-remove method-name="postRemoveEntityObjEntity"/>
-		<post-load method-name="postLoadEntityObjEntity"/>
-	</obj-entity>
-	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
-	</obj-entity>
-	<obj-entity name="Bag" className="org.apache.cayenne.testdo.testmap.Bag" clientClassName="test.client.Bag" dbEntityName="BAG" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Ball" className="org.apache.cayenne.testdo.testmap.Ball" clientClassName="test.client.Ball" dbEntityName="BALL" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="thingVolume" type="java.lang.Integer" db-attribute-path="THING_VOLUME"/>
-		<obj-attribute name="thingWeight" type="java.lang.Integer" db-attribute-path="THING_WEIGHT"/>
-	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
-		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
-	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
-		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
-	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
-		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
-	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" dbEntityName="BIT_TEST">
-		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" dbEntityName="BIT_TEST">
-		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" dbEntityName="BLOB_TEST">
-		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
-	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
-		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="Box" className="org.apache.cayenne.testdo.testmap.Box" clientClassName="test.client.Box" dbEntityName="BOX" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="BoxInfo" className="org.apache.cayenne.testdo.testmap.BoxInfo" clientClassName="test.client.BoxInfo" dbEntityName="BOX_INFO" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="color" type="java.lang.String" db-attribute-path="COLOR"/>
-	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" dbEntityName="CALENDAR_TEST">
-		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
-	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
-		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
-		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
-	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
-		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
-	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" dbEntityName="CLOB_TEST">
-		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
-	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
-		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
-		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="CVALUE"/>
-	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
-		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="CompoundPaintingLongNames" className="org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames" clientClassName="test.client.CompoundPaintingLongNames" dbEntityName="PAINTING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="artistLongName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="galleryLongName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
-		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-		<obj-attribute name="textLongReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
-		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
-		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
-		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
-		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
-		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
-		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
-		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
-	</obj-entity>
-	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
-		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
-		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
-	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
-		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" dbEntityName="LONG_ENTITY">
-		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
-	</obj-entity>
-	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
-		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
-		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
-	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
-		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
-		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
-	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
-		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" dbEntityName="NO_PK_TEST">
-		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
-	</obj-entity>
-	<obj-entity name="NullTestEntity" className="org.apache.cayenne.testdo.testmap.NullTestEntity" dbEntityName="NULL_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="Painting1" className="org.apache.cayenne.testdo.testmap.Painting1" dbEntityName="PAINTING1">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="PaintingInfo" className="org.apache.cayenne.testdo.testmap.PaintingInfo" dbEntityName="PAINTING_INFO">
-		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
-		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
-		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
-		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="ROArtist" className="org.apache.cayenne.testdo.testmap.ROArtist" readOnly="true" dbEntityName="ARTIST">
-		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
-		<obj-attribute name="dateOfBirth" type="java.sql.Date" db-attribute-path="DATE_OF_BIRTH"/>
-	</obj-entity>
-	<obj-entity name="ROPainting" className="org.apache.cayenne.testdo.testmap.ROPainting" readOnly="true" dbEntityName="PAINTING">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="RWCompoundPainting" className="org.apache.cayenne.testdo.testmap.RWCompoundPainting" dbEntityName="PAINTING">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
-		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
-		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
-		<obj-attribute name="charColumn" type="java.lang.String" db-attribute-path="CHAR_COLUMN"/>
-		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
-		<obj-attribute name="decimalColumn" type="java.math.BigDecimal" db-attribute-path="DECIMAL_COLUMN"/>
-		<obj-attribute name="doubleColumn" type="java.lang.Double" db-attribute-path="DOUBLE_COLUMN"/>
-		<obj-attribute name="floatColumn" type="java.lang.Float" db-attribute-path="FLOAT_COLUMN"/>
-		<obj-attribute name="integerColumn" type="java.lang.Integer" db-attribute-path="INTEGER_COLUMN"/>
-		<obj-attribute name="longvarcharColumn" type="java.lang.String" db-attribute-path="LONGVARCHAR_COLUMN"/>
-		<obj-attribute name="numericColumn" type="java.math.BigDecimal" db-attribute-path="NUMERIC_COLUMN"/>
-		<obj-attribute name="realColumn" type="java.lang.Float" db-attribute-path="REAL_COLUMN"/>
-		<obj-attribute name="smallintColumn" type="java.lang.Short" db-attribute-path="SMALLINT_COLUMN"/>
-		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
-		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
-		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
-		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
-		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
-		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
-		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="ReturnTypesMapLobs1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1" clientClassName="test.client.ReturnTypesMapLobs1" dbEntityName="TYPES_MAPPING_LOBS_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="clobColumn" type="java.lang.String" db-attribute-path="CLOB_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
-		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
-	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
-		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
-	</obj-entity>
-	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="Thing" className="org.apache.cayenne.testdo.testmap.Thing" clientClassName="test.client.Thing" dbEntityName="THING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="volume" type="java.lang.Integer" db-attribute-path="VOLUME"/>
-		<obj-attribute name="weight" type="java.lang.Integer" db-attribute-path="WEIGHT"/>
-	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" dbEntityName="TINYINT_TEST">
-		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
-	</obj-entity>
-	<obj-entity name="UuidPkEntity" className="org.apache.cayenne.testdo.testmap.UuidPkEntity" dbEntityName="UUID_PK_ENTITY">
-		<obj-attribute name="id" type="java.util.UUID" db-attribute-path="ID"/>
-	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" dbEntityName="UUID_TEST">
-		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
-	</obj-entity>
-	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">
-		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="toChildGroups" source="ARTGROUP" target="ARTGROUP" toMany="true">
-		<db-attribute-pair source="GROUP_ID" target="PARENT_GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="toParentGroup" source="ARTGROUP" target="ARTGROUP" toMany="false">
-		<db-attribute-pair source="PARENT_GROUP_ID" target="GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="artistExhibitArray" source="ARTIST" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="artistGroupArray" source="ARTIST" target="ARTIST_GROUP" toMany="true">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="paintingArray" source="ARTIST" target="PAINTING" toMany="true">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="ARTIST_EXHIBIT" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toExhibit" source="ARTIST_EXHIBIT" target="EXHIBIT" toMany="false">
-		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="ARTIST_GROUP" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toGroup" source="ARTIST_GROUP" target="ARTGROUP" toMany="false">
-		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="BOXES" source="BAG" target="BOX" toMany="true">
-		<db-attribute-pair source="ID" target="BAG_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX" source="BALL" target="BOX" toMany="false">
-		<db-attribute-pair source="BOX_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="THING" source="BALL" target="THING" toMany="false">
-		<db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
-		<db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
-	</db-relationship>
-	<db-relationship name="binaryPKDetails" source="BINARY_PK_TEST1" target="BINARY_PK_TEST2" toMany="true">
-		<db-attribute-pair source="BIN_ID" target="FK_ID"/>
-	</db-relationship>
-	<db-relationship name="toBinaryPKMaster" source="BINARY_PK_TEST2" target="BINARY_PK_TEST1" toMany="false">
-		<db-attribute-pair source="FK_ID" target="BIN_ID"/>
-	</db-relationship>
-	<db-relationship name="BAG" source="BOX" target="BAG" toMany="false">
-		<db-attribute-pair source="BAG_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="BALLS" source="BOX" target="BALL" toMany="true">
-		<db-attribute-pair source="ID" target="BOX_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX_INFO" source="BOX" target="BOX_INFO" toMany="false">
-		<db-attribute-pair source="ID" target="BOX_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX_THING" source="BOX" target="BOX_THING" toMany="true">
-		<db-attribute-pair source="ID" target="BOX_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX" source="BOX_INFO" target="BOX" toMany="false">
-		<db-attribute-pair source="BOX_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="BOX" source="BOX_THING" target="BOX" toMany="false">
-		<db-attribute-pair source="BOX_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="THING" source="BOX_THING" target="THING" toMany="false">
-		<db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
-		<db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
-	</db-relationship>
-	<db-relationship name="toCharPK" source="CHAR_FK_TEST" target="CHAR_PK_TEST" toMany="false">
-		<db-attribute-pair source="FK_COL" target="PK_COL"/>
-	</db-relationship>
-	<db-relationship name="charFKs" source="CHAR_PK_TEST" target="CHAR_FK_TEST" toMany="true">
-		<db-attribute-pair source="PK_COL" target="FK_COL"/>
-	</db-relationship>
-	<db-relationship name="clob" source="CLOB_TEST" target="CLOB_TEST_RELATION" toMany="true">
-		<db-attribute-pair source="CLOB_TEST_ID" target="ID_CLOB"/>
-	</db-relationship>
-	<db-relationship name="CLOB_REL" source="CLOB_TEST_RELATION" target="CLOB_TEST" toMany="false">
-		<db-attribute-pair source="ID_CLOB" target="CLOB_TEST_ID"/>
-	</db-relationship>
-	<db-relationship name="toCompoundPk" source="COMPOUND_FK_TEST" target="COMPOUND_PK_TEST" toMany="false">
-		<db-attribute-pair source="F_KEY1" target="KEY1"/>
-		<db-attribute-pair source="F_KEY2" target="KEY2"/>
-	</db-relationship>
-	<db-relationship name="compoundFkArray" source="COMPOUND_PK_TEST" target="COMPOUND_FK_TEST" toMany="true">
-		<db-attribute-pair source="KEY1" target="F_KEY1"/>
-		<db-attribute-pair source="KEY2" target="F_KEY2"/>
-	</db-relationship>
-	<db-relationship name="artistExhibitArray" source="EXHIBIT" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
-	</db-relationship>
-	<db-relationship name="toGallery" source="EXHIBIT" target="GALLERY" toMany="false">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="exhibitArray" source="GALLERY" target="EXHIBIT" toMany="true">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="paintingArray" source="GALLERY" target="PAINTING" toMany="true">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="toMaster" source="GENERATED_COLUMN_COMP_KEY" target="GENERATED_COLUMN_COMP_M" toMany="false">
-		<db-attribute-pair source="PROPAGATED_PK" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toDetail" source="GENERATED_COLUMN_COMP_M" target="GENERATED_COLUMN_COMP_KEY" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="ID" target="PROPAGATED_PK"/>
-	</db-relationship>
-	<db-relationship name="toMaster" source="GENERATED_COLUMN_DEP" target="GENERATED_COLUMN_TEST" toMany="false">
-		<db-attribute-pair source="GENERATED_COLUMN_FK" target="GENERATED_COLUMN"/>
-	</db-relationship>
-	<db-relationship name="toDep" source="GENERATED_COLUMN_TEST" target="GENERATED_COLUMN_DEP" toDependentPK="true" toMany="false">
-		<db-attribute-pair source="GENERATED_COLUMN" target="GENERATED_COLUMN_FK"/>
-	</db-relationship>
-	<db-relationship name="join" source="GENERATED_F1" target="GENERATED_JOIN" toMany="true">
-		<db-attribute-pair source="ID" target="ID1"/>
-	</db-relationship>
-	<db-relationship name="join" source="GENERATED_F2" target="GENERATED_JOIN" toMany="true">
-		<db-attribute-pair source="ID" target="ID2"/>
-	</db-relationship>
-	<db-relationship name="f1" source="GENERATED_JOIN" target="GENERATED_F1" toMany="false">
-		<db-attribute-pair source="ID1" target="ID"/>
-	</db-relationship>
-	<db-relationship name="f2" source="GENERATED_JOIN" target="GENERATED_F2" toMany="false">
-		<db-attribute-pair source="ID2" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toMeaningfulPK" source="MEANINGFUL_PK_DEP" target="MEANINGFUL_PK_TEST1" toMany="false">
-		<db-attribute-pair source="MASTER_PK" target="PK_ATTRIBUTE"/>
-	</db-relationship>
-	<db-relationship name="meaningfulPKDepArray" source="MEANINGFUL_PK_TEST1" target="MEANINGFUL_PK_DEP" toMany="true">
-		<db-attribute-pair source="PK_ATTRIBUTE" target="MASTER_PK"/>
-	</db-relationship>
-	<db-relationship name="details" source="MIXED_PERSISTENCE_STRATEGY" target="MIXED_PERSISTENCE_STRATEGY2" toMany="true">
-		<db-attribute-pair source="ID" target="MASTER_ID"/>
-	</db-relationship>
-	<db-relationship name="master" source="MIXED_PERSISTENCE_STRATEGY2" target="MIXED_PERSISTENCE_STRATEGY" toMany="false">
-		<db-attribute-pair source="MASTER_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="PAINTING" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toGallery" source="PAINTING" target="GALLERY" toMany="false">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="toPaintingInfo" source="PAINTING" target="PAINTING_INFO" toDependentPK="true" toMany="false">
-		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="PAINTING1" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="painting" source="PAINTING_INFO" target="PAINTING" toMany="false">
-		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
-	</db-relationship>
-	<db-relationship name="BALL" source="THING" target="BALL" toMany="false">
-		<db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
-		<db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
-	</db-relationship>
-	<db-relationship name="BOX_THING" source="THING" target="BOX_THING" toMany="true">
-		<db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
-		<db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
-	</db-relationship>
-	<obj-relationship name="artistArray" source="ArtGroup" target="Artist" deleteRule="Nullify" db-relationship-path="artistGroupArray.toArtist"/>
-	<obj-relationship name="childGroupsArray" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toChildGroups"/>
-	<obj-relationship name="toParentGroup" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toParentGroup"/>
-	<obj-relationship name="artistExhibitArray" source="Artist" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
-	<obj-relationship name="groupArray" source="Artist" target="ArtGroup" deleteRule="Cascade" db-relationship-path="artistGroupArray.toGroup"/>
-	<obj-relationship name="paintingArray" source="Artist" target="Painting" deleteRule="Cascade" db-relationship-path="paintingArray"/>
-	<obj-relationship name="toArtist" source="ArtistExhibit" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toExhibit" source="ArtistExhibit" target="Exhibit" deleteRule="Nullify" db-relationship-path="toExhibit"/>
-	<obj-relationship name="balls" source="Bag" target="Ball" deleteRule="Deny" db-relationship-path="BOXES.BALLS"/>
-	<obj-relationship name="boxes" source="Bag" target="Box" deleteRule="Deny" db-relationship-path="BOXES"/>
-	<obj-relationship name="things" source="Bag" target="Thing" deleteRule="Deny" db-relationship-path="BOXES.BOX_THING.THING"/>
-	<obj-relationship name="box" source="Ball" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
-	<obj-relationship name="thing" source="Ball" target="Thing" deleteRule="Nullify" db-relationship-path="THING"/>
-	<obj-relationship name="binaryPKDetails" source="BinaryPKTest1" target="BinaryPKTest2" db-relationship-path="binaryPKDetails"/>
-	<obj-relationship name="toBinaryPKMaster" source="BinaryPKTest2" target="BinaryPKTest1" db-relationship-path="toBinaryPKMaster"/>
-	<obj-relationship name="bag" source="Box" target="Bag" deleteRule="Nullify" db-relationship-path="BAG"/>
-	<obj-relationship name="balls" source="Box" target="Ball" deleteRule="Deny" db-relationship-path="BALLS"/>
-	<obj-relationship name="boxInfo" source="Box" target="BoxInfo" deleteRule="Deny" db-relationship-path="BOX_INFO"/>
-	<obj-relationship name="things" source="Box" target="Thing" deleteRule="Deny" db-relationship-path="BOX_THING.THING"/>
-	<obj-relationship name="box" source="BoxInfo" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
-	<obj-relationship name="toCharPK" source="CharFkTestEntity" target="CharPkTestEntity" db-relationship-path="toCharPK"/>
-	<obj-relationship name="charFKs" source="CharPkTestEntity" target="CharFkTestEntity" db-relationship-path="charFKs"/>
-	<obj-relationship name="clobValue" source="ClobTestEntity" target="ClobTestRelation" db-relationship-path="clob"/>
-	<obj-relationship name="clobId" source="ClobTestRelation" target="ClobTestEntity" db-relationship-path="CLOB_REL"/>
-	<obj-relationship name="toCompoundPk" source="CompoundFkTestEntity" target="CompoundPkTestEntity" db-relationship-path="toCompoundPk"/>
-	<obj-relationship name="toArtist" source="CompoundPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toGallery" source="CompoundPainting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="toPaintingInfo" source="CompoundPainting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
-	<obj-relationship name="toArtist" source="CompoundPaintingLongNames" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toArtist1" source="CompoundPaintingLongNames" target="ROArtist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toGallery" source="CompoundPaintingLongNames" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="toPaintingInfo" source="CompoundPaintingLongNames" target="PaintingInfo" deleteRule="Nullify" db-relationship-path="toPaintingInfo"/>
-	<obj-relationship name="compoundFkArray" source="CompoundPkTestEntity" target="CompoundFkTestEntity" db-relationship-path="compoundFkArray"/>
-	<obj-relationship name="artistExhibitArray" source="Exhibit" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
-	<obj-relationship name="toGallery" source="Exhibit" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="exhibitArray" source="Gallery" target="Exhibit" deleteRule="Cascade" db-relationship-path="exhibitArray"/>
-	<obj-relationship name="paintingArray" source="Gallery" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
-	<obj-relationship name="toMaster" source="GeneratedColumnCompKey" target="GeneratedColumnCompMaster" db-relationship-path="toMaster"/>
-	<obj-relationship name="toDetail" source="GeneratedColumnCompMaster" target="GeneratedColumnCompKey" db-relationship-path="toDetail"/>
-	<obj-relationship name="toMaster" source="GeneratedColumnDep" target="GeneratedColumnTestEntity" db-relationship-path="toMaster"/>
-	<obj-relationship name="toDep" source="GeneratedColumnTestEntity" target="GeneratedColumnDep" db-relationship-path="toDep"/>
-	<obj-relationship name="f2" source="GeneratedF1" target="GeneratedF2" deleteRule="Nullify" db-relationship-path="join.f2"/>
-	<obj-relationship name="f1" source="GeneratedF2" target="GeneratedF1" deleteRule="Nullify" db-relationship-path="join.f1"/>
-	<obj-relationship name="toMeaningfulPK" source="MeaningfulPKDep" target="MeaningfulPKTest1" db-relationship-path="toMeaningfulPK"/>
-	<obj-relationship name="meaningfulPKDepArray" source="MeaningfulPKTest1" target="MeaningfulPKDep" db-relationship-path="meaningfulPKDepArray"/>
-	<obj-relationship name="details" source="MixedPersistenceStrategy" target="MixedPersistenceStrategy2" db-relationship-path="details"/>
-	<obj-relationship name="master" source="MixedPersistenceStrategy2" target="MixedPersistenceStrategy" db-relationship-path="master"/>
-	<obj-relationship name="toArtist" source="Painting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toGallery" source="Painting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="toPaintingInfo" source="Painting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
-	<obj-relationship name="toArtist" source="Painting1" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="painting" source="PaintingInfo" target="Painting" deleteRule="Nullify" db-relationship-path="painting"/>
-	<obj-relationship name="paintingArray" source="ROArtist" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
-	<obj-relationship name="toArtist" source="ROPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="ball" source="Thing" target="Ball" deleteRule="Nullify" db-relationship-path="BALL"/>
-	<obj-relationship name="box" source="Thing" target="Box" deleteRule="Deny" db-relationship-path="BOX_THING.BOX"/>
-	<query name="EjbqlQueryTest" factory="org.apache.cayenne.map.EjbqlBuilder">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
-		<ejbql><![CDATA[select a from Artist a]]></ejbql>
-	</query>
-	<query name="NonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
-VALUES (512, 'No Painting Like This', 12.5)]]></sql>
-		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) VALUES (512, 'No Painting Like This', 12.5)]]></sql>
-	</query>
-	<query name="ObjectQuery" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Painting">
-		<qualifier><![CDATA[toArtist = $artist]]></qualifier>
-		<ordering><![CDATA[paintingTitle]]></ordering>
-	</query>
-	<query name="ParameterizedNonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
-VALUES (#bind($id), #bind($title), #bind($price))]]></sql>
-		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) values (#bind($id), #bind($title), #bind($price))]]></sql>
-	</query>
-	<query name="ParameterizedQueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
-		<qualifier><![CDATA[artistName like $name]]></qualifier>
-	</query>
-	<query name="ParameterizedQueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
-		<qualifier><![CDATA[artistName like $name]]></qualifier>
-	</query>
-	<query name="ProcedureQuery" factory="org.apache.cayenne.map.ProcedureQueryBuilder" root="procedure" root-name="cayenne_tst_select_proc" result-entity="Artist">
-	</query>
-	<query name="QueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
-	</query>
-	<query name="QueryWithOrdering" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<ordering descending="true" ignore-case="true"><![CDATA[artistName]]></ordering>
-		<ordering><![CDATA[dateOfBirth]]></ordering>
-	</query>
-	<query name="QueryWithPrefetch" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Gallery">
-		<prefetch>paintingArray</prefetch>
-	</query>
-	<query name="QueryWithQualifier" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<qualifier><![CDATA[artistName = $param1]]></qualifier>
-	</query>
-	<query name="QueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
-	</query>
-	<query name="SelectDateTest" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[SELECT * FROM DATE_TEST]]></sql>
-	</query>
-	<query name="SelectReturnTypesLobsMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<sql><![CDATA[SELECT * FROM TYPES_MAPPING_LOBS_TEST1]]></sql>
-	</query>
-	<query name="SelectReturnTypesMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST1]]></sql>
-	</query>
-	<query name="SelectReturnTypesMap2" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST2]]></sql>
-	</query>
-	<query name="SelectTestLower" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="LOWER"/>
-		<sql><![CDATA[select * from ARTIST]]></sql>
-	</query>
-	<query name="SelectTestUpper" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[select * from ARTIST]]></sql>
-	</query>
-</data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/uuid.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/uuid.map.xml b/cayenne-server/src/test/resources/uuid.map.xml
new file mode 100644
index 0000000..c5ed630
--- /dev/null
+++ b/cayenne-server/src/test/resources/uuid.map.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.uuid"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="UUID_PK_ENTITY">
+        <db-attribute name="ID" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
+    </db-entity>
+    <db-entity name="UUID_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="UUID" type="VARCHAR" length="100"/>
+    </db-entity>
+    <obj-entity name="UuidPkEntity" className="org.apache.cayenne.testdo.uuid.UuidPkEntity" dbEntityName="UUID_PK_ENTITY">
+        <obj-attribute name="id" type="java.util.UUID" db-attribute-path="ID"/>
+    </obj-entity>
+    <obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" dbEntityName="UUID_TEST">
+        <obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-tools/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/resources/testmap.map.xml b/cayenne-tools/src/test/resources/testmap.map.xml
index 6542bd2..71dfb21 100644
--- a/cayenne-tools/src/test/resources/testmap.map.xml
+++ b/cayenne-tools/src/test/resources/testmap.map.xml
@@ -277,7 +277,7 @@
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="UUID" type="VARCHAR" length="100"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -312,51 +312,51 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
 		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
 		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
 		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
 	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" dbEntityName="BLOB_TEST">
+	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" dbEntityName="BLOB_TEST">
 		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" dbEntityName="CALENDAR_TEST">
+	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" dbEntityName="CALENDAR_TEST">
 		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
 	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
 		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
 		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" dbEntityName="CLOB_TEST">
+	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" dbEntityName="CLOB_TEST">
 		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
 		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
 		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="VALUE"/>
 	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
@@ -366,78 +366,78 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
 		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
 		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
 		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
 	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
+	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+		<obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
 		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" dbEntityName="LONG_ENTITY">
+	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" dbEntityName="LONG_ENTITY">
 		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
 	</obj-entity>
 	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
 		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" dbEntityName="NO_PK_TEST">
 		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
 	</obj-entity>
 	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
@@ -453,7 +453,7 @@
 		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
 		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
 	</obj-entity>
@@ -470,7 +470,7 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
@@ -490,25 +490,25 @@
 		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
 		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
 		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
 		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
 		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
 		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
 	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
 		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
 	</obj-entity>
 	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" dbEntityName="TINYINT_TEST">
 		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
 	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" dbEntityName="UUID_TEST">
+	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" dbEntityName="UUID_TEST">
 		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
 	</obj-entity>
 	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">