You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/02/13 10:22:36 UTC

[3/3] cayenne git commit: CAY-2227 Update generated sources

CAY-2227 Update generated sources


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

Branch: refs/heads/master
Commit: fd8234d3534487e689b6d739ecccf4de8f85c382
Parents: dc943e1
Author: Nikita Timofeev <st...@gmail.com>
Authored: Mon Feb 13 13:13:19 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Mon Feb 13 13:13:19 2017 +0300

----------------------------------------------------------------------
 .../apache/cayenne/crypto/db/auto/_Table1.java  |  8 ++--
 .../apache/cayenne/crypto/db/auto/_Table2.java  |  4 +-
 .../apache/cayenne/crypto/db/auto/_Table3.java  |  2 +-
 .../apache/cayenne/crypto/db/auto/_Table4.java  |  4 +-
 .../java8/db/auto/_LocalDateTestEntity.java     |  2 +-
 .../java8/db/auto/_LocalDateTimeTestEntity.java |  2 +-
 .../java8/db/auto/_LocalTimeTestEntity.java     |  2 +-
 .../joda/db/auto/_DateTimeTestEntity.java       |  2 +-
 .../joda/db/auto/_LocalDateTestEntity.java      |  2 +-
 .../joda/db/auto/_LocalDateTimeTestEntity.java  |  2 +-
 .../joda/db/auto/_LocalTimeTestEntity.java      |  2 +-
 .../persistent/auto/_ClientMtTable1.java        | 14 +++---
 .../persistent/auto/_ClientMtTable2.java        |  4 +-
 .../array_type/auto/_ArrayTestEntity.java       |  2 +-
 .../testdo/binary_pk/auto/_BinaryPKTest1.java   |  4 +-
 .../testdo/binary_pk/auto/_BinaryPKTest2.java   |  4 +-
 .../testdo/compound/auto/_CharFkTestEntity.java |  4 +-
 .../testdo/compound/auto/_CharPkTestEntity.java |  6 +--
 .../compound/auto/_CompoundFkTestEntity.java    |  4 +-
 .../compound/auto/_CompoundPkTestEntity.java    |  8 ++--
 .../testdo/date_time/auto/_CalendarEntity.java  |  2 +-
 .../testdo/date_time/auto/_DateTestEntity.java  |  6 +--
 .../cayenne/testdo/db1/auto/_CrossdbM1E1.java   |  6 +--
 .../cayenne/testdo/db2/auto/_CrossdbM2E1.java   |  4 +-
 .../cayenne/testdo/db2/auto/_CrossdbM2E2.java   |  6 +--
 .../testdo/deleterules/auto/_DeleteCascade.java |  4 +-
 .../testdo/deleterules/auto/_DeleteDeny.java    |  4 +-
 .../testdo/deleterules/auto/_DeleteNullify.java |  4 +-
 .../testdo/deleterules/auto/_DeleteRule.java    |  8 ++--
 .../testdo/embeddable/auto/_EmbedEntity1.java   |  6 +--
 .../testdo/embeddable/auto/_Embeddable1.java    |  4 +-
 .../testdo/enum_test/auto/_EnumEntity.java      |  2 +-
 .../extended_type/auto/_ExtendedTypeEntity.java |  2 +-
 .../generated/auto/_GeneratedColumnCompKey.java |  4 +-
 .../auto/_GeneratedColumnCompMaster.java        |  4 +-
 .../generated/auto/_GeneratedColumnDep.java     |  4 +-
 .../generated/auto/_GeneratedColumnTest2.java   |  2 +-
 .../auto/_GeneratedColumnTestEntity.java        |  4 +-
 .../testdo/generated/auto/_GeneratedF1.java     |  2 +-
 .../testdo/generated/auto/_GeneratedF2.java     |  2 +-
 .../testdo/inheritance/auto/_BaseEntity.java    |  6 +--
 .../inheritance/auto/_DirectToSubEntity.java    |  2 +-
 .../testdo/inheritance/auto/_RelatedEntity.java |  4 +-
 .../testdo/inheritance_flat/auto/_Group.java    |  4 +-
 .../inheritance_flat/auto/_GroupProperties.java |  6 +--
 .../testdo/inheritance_flat/auto/_Role.java     |  8 ++--
 .../testdo/inheritance_flat/auto/_User.java     |  2 +-
 .../inheritance_flat/auto/_UserProperties.java  |  6 +--
 .../auto/_AbstractPerson.java                   |  6 +--
 .../inheritance_people/auto/_Address.java       |  4 +-
 .../inheritance_people/auto/_ClientCompany.java |  4 +-
 .../auto/_CustomerRepresentative.java           |  4 +-
 .../inheritance_people/auto/_Department.java    |  6 +--
 .../inheritance_people/auto/_Employee.java      |  6 +--
 .../inheritance_people/auto/_Manager.java       |  2 +-
 .../inheritance_people/auto/_PersonNotes.java   |  4 +-
 .../inheritance_vertical/auto/_Iv1Root.java     |  4 +-
 .../inheritance_vertical/auto/_Iv1Sub1.java     |  2 +-
 .../inheritance_vertical/auto/_Iv2Root.java     |  2 +-
 .../inheritance_vertical/auto/_Iv2Sub1.java     |  2 +-
 .../inheritance_vertical/auto/_IvAbstract.java  |  2 +-
 .../inheritance_vertical/auto/_IvBase.java      |  4 +-
 .../inheritance_vertical/auto/_IvConcrete.java  |  6 +--
 .../inheritance_vertical/auto/_IvImpl.java      |  4 +-
 .../inheritance_vertical/auto/_IvOther.java     |  4 +-
 .../inheritance_vertical/auto/_IvRoot.java      |  4 +-
 .../inheritance_vertical/auto/_IvSub1.java      |  2 +-
 .../inheritance_vertical/auto/_IvSub1Sub1.java  |  2 +-
 .../inheritance_vertical/auto/_IvSub2.java      |  4 +-
 .../inheritance_vertical/auto/_IvSub3.java      |  2 +-
 .../auto/_Lifecycle.java                        |  2 +-
 .../testdo/lifecycles/auto/_Lifecycles.java     |  2 +-
 .../testdo/lob/auto/_BlobTestEntity.java        |  2 +-
 .../testdo/lob/auto/_ClobTestEntity.java        |  4 +-
 .../testdo/lob/auto/_ClobTestRelation.java      |  6 +--
 .../testdo/lob/auto/_NClobTestEntity.java       |  2 +-
 .../testdo/locking/auto/_LockingHelper.java     |  4 +-
 .../locking/auto/_RelLockingTestEntity.java     |  6 +--
 .../locking/auto/_SimpleLockingTestEntity.java  |  4 +-
 .../testdo/map_to_many/auto/_IdMapToMany.java   |  2 +-
 .../map_to_many/auto/_IdMapToManyTarget.java    |  2 +-
 .../testdo/map_to_many/auto/_MapToMany.java     |  2 +-
 .../map_to_many/auto/_MapToManyTarget.java      |  4 +-
 .../meaningful_pk/auto/_MeaningfulPKDep.java    |  4 +-
 .../meaningful_pk/auto/_MeaningfulPKTest1.java  |  6 +--
 .../meaningful_pk/auto/_MeaningfulPk.java       |  2 +-
 .../testdo/misc_types/auto/_ArraysEntity.java   |  8 ++--
 .../misc_types/auto/_CharacterEntity.java       |  2 +-
 .../misc_types/auto/_SerializableEntity.java    |  2 +-
 .../auto/_MixedPersistenceStrategy.java         |  6 +--
 .../auto/_MixedPersistenceStrategy2.java        |  4 +-
 .../cayenne/testdo/mt/auto/_MtTable1.java       |  6 +--
 .../testdo/mt/auto/_MtTable1Subclass1.java      |  2 +-
 .../testdo/mt/auto/_MtTable1Subclass2.java      |  2 +-
 .../cayenne/testdo/mt/auto/_MtTable2.java       |  6 +--
 .../cayenne/testdo/mt/auto/_MtTable3.java       |  8 ++--
 .../cayenne/testdo/mt/auto/_MtTable4.java       |  2 +-
 .../cayenne/testdo/mt/auto/_MtTable5.java       |  2 +-
 .../testdo/no_pk/auto/_NoPkTestEntity.java      |  2 +-
 .../numeric_types/auto/_BigDecimalEntity.java   |  2 +-
 .../numeric_types/auto/_BigIntegerEntity.java   |  2 +-
 .../auto/_BitNumberTestEntity.java              |  2 +-
 .../numeric_types/auto/_BitTestEntity.java      |  2 +-
 .../numeric_types/auto/_BooleanTestEntity.java  |  2 +-
 .../numeric_types/auto/_DecimalPKTest1.java     |  4 +-
 .../auto/_DecimalPKTestEntity.java              |  4 +-
 .../testdo/numeric_types/auto/_LongEntity.java  |  2 +-
 .../numeric_types/auto/_SmallintTestEntity.java |  2 +-
 .../numeric_types/auto/_TinyintTestEntity.java  |  2 +-
 .../testdo/oneway/auto/_OnewayTable2.java       |  4 +-
 .../testdo/oneway/auto/_OnewayTable3.java       |  2 +-
 .../testdo/qualified/auto/_Qualified1.java      |  6 +--
 .../testdo/qualified/auto/_Qualified2.java      |  6 +--
 .../testdo/quotemap/auto/_QuoteAdress.java      |  6 +--
 .../testdo/quotemap/auto/_Quote_Person.java     | 12 ++---
 .../testdo/reflexive/auto/_Reflexive.java       |  6 +--
 .../relationships/auto/_FkOfDifferentType.java  |  2 +-
 .../relationships/auto/_MeaningfulFK.java       |  4 +-
 .../relationships/auto/_ReflexiveAndToOne.java  |  8 ++--
 .../relationships/auto/_RelationshipHelper.java |  8 ++--
 .../relationships_activity/auto/_Activity.java  |  6 +--
 .../auto/_ActivityResult.java                   |  6 +--
 .../relationships_child_master/auto/_Child.java |  2 +-
 .../auto/_Master.java                           |  4 +-
 .../relationships_clob/auto/_ClobDetail.java    |  4 +-
 .../relationships_clob/auto/_ClobMaster.java    |  6 +--
 .../auto/_CollectionToMany.java                 |  2 +-
 .../auto/_CollectionToManyTarget.java           |  2 +-
 .../auto/_DeleteRuleFlatA.java                  |  2 +-
 .../auto/_DeleteRuleFlatB.java                  |  2 +-
 .../auto/_DeleteRuleTest1.java                  |  2 +-
 .../auto/_DeleteRuleTest2.java                  |  4 +-
 .../auto/_DeleteRuleTest3.java                  |  2 +-
 .../auto/_FlattenedCircular.java                |  4 +-
 .../auto/_FlattenedTest1.java                   | 10 ++---
 .../auto/_FlattenedTest2.java                   |  6 +--
 .../auto/_FlattenedTest3.java                   |  8 ++--
 .../auto/_FlattenedTest4.java                   |  4 +-
 .../auto/_SetToMany.java                        |  2 +-
 .../auto/_SetToManyTarget.java                  |  2 +-
 .../auto/_ToManyFkDep.java                      |  8 ++--
 .../auto/_ToManyFkRoot.java                     |  6 +--
 .../auto/_ToManyRoot2.java                      |  4 +-
 .../relationships_to_one_fk/auto/_ToOneFK1.java |  2 +-
 .../relationships_to_one_fk/auto/_ToOneFK2.java |  2 +-
 .../return_types/auto/_ReturnTypesMap1.java     | 46 ++++++++++----------
 .../return_types/auto/_ReturnTypesMap2.java     |  8 ++--
 .../return_types/auto/_ReturnTypesMapLobs1.java |  4 +-
 .../testdo/soft_delete/auto/_SoftDelete.java    |  4 +-
 .../table_primitives/auto/_TablePrimitives.java |  4 +-
 .../cayenne/testdo/testmap/auto/_ArtGroup.java  |  8 ++--
 .../testdo/testmap/auto/_ArtistCallback.java    |  4 +-
 .../testdo/testmap/auto/_ArtistExhibit.java     |  4 +-
 .../testdo/testmap/auto/_CompoundPainting.java  | 16 +++----
 .../auto/_CompoundPaintingLongNames.java        | 20 ++++-----
 .../cayenne/testdo/testmap/auto/_Exhibit.java   |  8 ++--
 .../cayenne/testdo/testmap/auto/_Gallery.java   |  6 +--
 .../_MeaningfulGeneratedColumnTestEntity.java   |  4 +-
 .../testdo/testmap/auto/_NullTestEntity.java    |  2 +-
 .../cayenne/testdo/testmap/auto/_Painting.java  | 12 ++---
 .../cayenne/testdo/testmap/auto/_Painting1.java |  6 +--
 .../testdo/testmap/auto/_PaintingInfo.java      |  6 +--
 .../cayenne/testdo/testmap/auto/_ROArtist.java  |  6 +--
 .../testdo/testmap/auto/_ROPainting.java        |  6 +--
 .../testmap/auto/_RWCompoundPainting.java       |  6 +--
 .../testdo/testmap/auto/_SubPainting.java       |  2 +-
 .../apache/cayenne/testdo/things/auto/_Bag.java |  8 ++--
 .../cayenne/testdo/things/auto/_Ball.java       |  8 ++--
 .../apache/cayenne/testdo/things/auto/_Box.java | 10 ++---
 .../cayenne/testdo/things/auto/_BoxInfo.java    |  4 +-
 .../cayenne/testdo/things/auto/_Thing.java      |  8 ++--
 .../cayenne/testdo/toone/auto/_TooneDep.java    |  2 +-
 .../cayenne/testdo/toone/auto/_TooneMaster.java |  2 +-
 .../auto/_Customer.java                         |  4 +-
 .../auto/_Product.java                          |  8 ++--
 .../cayenne/testdo/uuid/auto/_UuidPkEntity.java |  2 +-
 .../testdo/uuid/auto/_UuidTestEntity.java       |  2 +-
 177 files changed, 408 insertions(+), 408 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table1.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table1.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table1.java
index 1a22f44..ca49870 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table1.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table1.java
@@ -15,10 +15,10 @@ public abstract class _Table1 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Integer> CRYPTO_INT = new Property<>("cryptoInt");
-    public static final Property<String> CRYPTO_STRING = new Property<>("cryptoString");
-    public static final Property<Integer> PLAIN_INT = new Property<>("plainInt");
-    public static final Property<String> PLAIN_STRING = new Property<>("plainString");
+    public static final Property<Integer> CRYPTO_INT = Property.create("cryptoInt", Integer.class);
+    public static final Property<String> CRYPTO_STRING = Property.create("cryptoString", String.class);
+    public static final Property<Integer> PLAIN_INT = Property.create("plainInt", Integer.class);
+    public static final Property<String> PLAIN_STRING = Property.create("plainString", String.class);
 
     public void setCryptoInt(int cryptoInt) {
         writeProperty("cryptoInt", cryptoInt);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table2.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table2.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table2.java
index 5cc9133..3c65795 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table2.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table2.java
@@ -15,8 +15,8 @@ public abstract class _Table2 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<byte[]> CRYPTO_BYTES = new Property<>("cryptoBytes");
-    public static final Property<byte[]> PLAIN_BYTES = new Property<>("plainBytes");
+    public static final Property<byte[]> CRYPTO_BYTES = Property.create("cryptoBytes", byte[].class);
+    public static final Property<byte[]> PLAIN_BYTES = Property.create("plainBytes", byte[].class);
 
     public void setCryptoBytes(byte[] cryptoBytes) {
         writeProperty("cryptoBytes", cryptoBytes);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table3.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table3.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table3.java
index f21a3fa..917197c 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table3.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table3.java
@@ -15,7 +15,7 @@ public abstract class _Table3 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> CRYPTO_STRING = new Property<>("cryptoString");
+    public static final Property<String> CRYPTO_STRING = Property.create("cryptoString", String.class);
 
     public void setCryptoString(String cryptoString) {
         writeProperty("cryptoString", cryptoString);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table4.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table4.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table4.java
index 6349072..ae30286 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table4.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/db/auto/_Table4.java
@@ -15,8 +15,8 @@ public abstract class _Table4 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Integer> PLAIN_INT = new Property<>("plainInt");
-    public static final Property<String> PLAIN_STRING = new Property<>("plainString");
+    public static final Property<Integer> PLAIN_INT = Property.create("plainInt", Integer.class);
+    public static final Property<String> PLAIN_STRING = Property.create("plainString", String.class);
 
     public void setPlainInt(int plainInt) {
         writeProperty("plainInt", plainInt);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTestEntity.java b/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTestEntity.java
index 6f3fc61..d5db3b9 100644
--- a/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTestEntity.java
+++ b/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTestEntity.java
@@ -17,7 +17,7 @@ public abstract class _LocalDateTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<LocalDate> DATE = new Property<LocalDate>("date");
+    public static final Property<LocalDate> DATE = Property.create("date", LocalDate.class);
 
     public void setDate(LocalDate date) {
         writeProperty("date", date);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTimeTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTimeTestEntity.java b/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTimeTestEntity.java
index f4e1fde..59623a0 100644
--- a/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTimeTestEntity.java
+++ b/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalDateTimeTestEntity.java
@@ -17,7 +17,7 @@ public abstract class _LocalDateTimeTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<LocalDateTime> TIMESTAMP = new Property<LocalDateTime>("timestamp");
+    public static final Property<LocalDateTime> TIMESTAMP = Property.create("timestamp", LocalDateTime.class);
 
     public void setTimestamp(LocalDateTime timestamp) {
         writeProperty("timestamp", timestamp);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalTimeTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalTimeTestEntity.java b/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalTimeTestEntity.java
index 1a2840f..3b2ea88 100644
--- a/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalTimeTestEntity.java
+++ b/cayenne-java8/src/test/java/org/apache/cayenne/java8/db/auto/_LocalTimeTestEntity.java
@@ -17,7 +17,7 @@ public abstract class _LocalTimeTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<LocalTime> TIME = new Property<LocalTime>("time");
+    public static final Property<LocalTime> TIME = Property.create("time", LocalTime.class);
 
     public void setTime(LocalTime time) {
         writeProperty("time", time);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_DateTimeTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_DateTimeTestEntity.java b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_DateTimeTestEntity.java
index 611ba82..2fd9d91 100644
--- a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_DateTimeTestEntity.java
+++ b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_DateTimeTestEntity.java
@@ -16,7 +16,7 @@ public abstract class _DateTimeTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<DateTime> TIMESTAMP = new Property<DateTime>("timestamp");
+    public static final Property<DateTime> TIMESTAMP = Property.create("timestamp", DateTime.class);
 
     public void setTimestamp(DateTime timestamp) {
         writeProperty("timestamp", timestamp);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTestEntity.java b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTestEntity.java
index ac18b66..72c60dd 100644
--- a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTestEntity.java
+++ b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTestEntity.java
@@ -16,7 +16,7 @@ public abstract class _LocalDateTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<LocalDate> DATE = new Property<LocalDate>("date");
+    public static final Property<LocalDate> DATE = Property.create("date", LocalDate.class);
 
     public void setDate(LocalDate date) {
         writeProperty("date", date);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTimeTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTimeTestEntity.java b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTimeTestEntity.java
index fab8c8e..bca6b26 100644
--- a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTimeTestEntity.java
+++ b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalDateTimeTestEntity.java
@@ -16,7 +16,7 @@ public abstract class _LocalDateTimeTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<LocalDateTime> TIMESTAMP = new Property<LocalDateTime>("timestamp");
+    public static final Property<LocalDateTime> TIMESTAMP = Property.create("timestamp", LocalDateTime.class);
 
     public void setTimestamp(LocalDateTime timestamp) {
         writeProperty("timestamp", timestamp);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalTimeTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalTimeTestEntity.java b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalTimeTestEntity.java
index a06eb89..422ceec 100644
--- a/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalTimeTestEntity.java
+++ b/cayenne-joda/src/test/java/org/apache/cayenne/joda/db/auto/_LocalTimeTestEntity.java
@@ -16,7 +16,7 @@ public abstract class _LocalTimeTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<LocalTime> TIME = new Property<LocalTime>("time");
+    public static final Property<LocalTime> TIME = Property.create("time", LocalTime.class);
 
     public void setTime(LocalTime time) {
         writeProperty("time", time);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable1.java
----------------------------------------------------------------------
diff --git a/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable1.java b/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable1.java
index 30e9a7f..f471aa6 100644
--- a/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable1.java
+++ b/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable1.java
@@ -18,13 +18,13 @@ import org.apache.cayenne.util.PersistentObjectList;
  */
 public abstract class _ClientMtTable1 extends PersistentObject {
 
-    public static final Property<LocalDate> DATE_ATTRIBUTE = new Property<LocalDate>("dateAttribute");
-    public static final Property<String> GLOBAL_ATTRIBUTE = new Property<String>("globalAttribute");
-    public static final Property<Date> OLD_DATE_ATTRIBUTE = new Property<Date>("oldDateAttribute");
-    public static final Property<String> SERVER_ATTRIBUTE = new Property<String>("serverAttribute");
-    public static final Property<LocalTime> TIME_ATTRIBUTE = new Property<LocalTime>("timeAttribute");
-    public static final Property<LocalDateTime> TIMESTAMP_ATTRIBUTE = new Property<LocalDateTime>("timestampAttribute");
-    public static final Property<List<ClientMtTable2>> TABLE2ARRAY = new Property<List<ClientMtTable2>>("table2Array");
+    public static final Property<LocalDate> DATE_ATTRIBUTE = Property.create("dateAttribute", LocalDate.class);
+    public static final Property<String> GLOBAL_ATTRIBUTE = Property.create("globalAttribute", String.class);
+    public static final Property<Date> OLD_DATE_ATTRIBUTE = Property.create("oldDateAttribute", Date.class);
+    public static final Property<String> SERVER_ATTRIBUTE = Property.create("serverAttribute", String.class);
+    public static final Property<LocalTime> TIME_ATTRIBUTE = Property.create("timeAttribute", LocalTime.class);
+    public static final Property<LocalDateTime> TIMESTAMP_ATTRIBUTE = Property.create("timestampAttribute", LocalDateTime.class);
+    public static final Property<List<ClientMtTable2>> TABLE2ARRAY = Property.create("table2Array", List.class);
 
     protected LocalDate dateAttribute;
     protected String globalAttribute;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable2.java
----------------------------------------------------------------------
diff --git a/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable2.java b/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable2.java
index b4432a1..598fcdf 100644
--- a/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable2.java
+++ b/cayenne-protostuff/src/test/java/org/apache/cayenne/rop/protostuff/persistent/auto/_ClientMtTable2.java
@@ -13,8 +13,8 @@ import org.apache.cayenne.util.PersistentObjectHolder;
  */
 public abstract class _ClientMtTable2 extends PersistentObject {
 
-    public static final Property<String> GLOBAL_ATTRIBUTE = new Property<String>("globalAttribute");
-    public static final Property<ClientMtTable1> TABLE1 = new Property<ClientMtTable1>("table1");
+    public static final Property<String> GLOBAL_ATTRIBUTE = Property.create("globalAttribute", String.class);
+    public static final Property<org.apache.cayenne.rop.protostuff.persistent.MtTable1> TABLE1 = Property.create("table1", org.apache.cayenne.rop.protostuff.persistent.MtTable1.class);
 
     protected String globalAttribute;
     protected ValueHolder table1;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/array_type/auto/_ArrayTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/array_type/auto/_ArrayTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/array_type/auto/_ArrayTestEntity.java
index e4d22ae..36102ca 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/array_type/auto/_ArrayTestEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/array_type/auto/_ArrayTestEntity.java
@@ -15,7 +15,7 @@ public abstract class _ArrayTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Double[]> DOUBLE_ARRAY = new Property<>("doubleArray");
+    public static final Property<Double[]> DOUBLE_ARRAY = Property.create("doubleArray", Double[].class);
 
     public void setDoubleArray(Double[] doubleArray) {
         writeProperty("doubleArray", doubleArray);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index e2f656a..0ad5986 100644
--- 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
@@ -18,8 +18,8 @@ public abstract class _BinaryPKTest1 extends CayenneDataObject {
 
     public static final String BIN_ID_PK_COLUMN = "BIN_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<BinaryPKTest2>> BINARY_PKDETAILS = new Property<>("binaryPKDetails");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<BinaryPKTest2>> BINARY_PKDETAILS = Property.create("binaryPKDetails", List.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index bd5c716..9e1c2c3 100644
--- 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
@@ -16,8 +16,8 @@ public abstract class _BinaryPKTest2 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> DETAIL_NAME = new Property<>("detailName");
-    public static final Property<BinaryPKTest1> TO_BINARY_PKMASTER = new Property<>("toBinaryPKMaster");
+    public static final Property<String> DETAIL_NAME = Property.create("detailName", String.class);
+    public static final Property<BinaryPKTest1> TO_BINARY_PKMASTER = Property.create("toBinaryPKMaster", BinaryPKTest1.class);
 
     public void setDetailName(String detailName) {
         writeProperty("detailName", detailName);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 3dd2663..9f6c4e1 100644
--- 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
@@ -16,8 +16,8 @@ public abstract class _CharFkTestEntity extends CayenneDataObject {
 
     public static final String PK_PK_COLUMN = "PK";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<CharPkTestEntity> TO_CHAR_PK = new Property<>("toCharPK");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<CharPkTestEntity> TO_CHAR_PK = Property.create("toCharPK", CharPkTestEntity.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 6a3eabd..05ae88f 100644
--- 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
@@ -18,9 +18,9 @@ public abstract class _CharPkTestEntity extends CayenneDataObject {
 
     public static final String PK_COL_PK_COLUMN = "PK_COL";
 
-    public static final Property<String> OTHER_COL = new Property<>("otherCol");
-    public static final Property<String> PK_COL = new Property<>("pkCol");
-    public static final Property<List<CharFkTestEntity>> CHAR_FKS = new Property<>("charFKs");
+    public static final Property<String> OTHER_COL = Property.create("otherCol", String.class);
+    public static final Property<String> PK_COL = Property.create("pkCol", String.class);
+    public static final Property<List<CharFkTestEntity>> CHAR_FKS = Property.create("charFKs", List.class);
 
     public void setOtherCol(String otherCol) {
         writeProperty("otherCol", otherCol);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 404a9a0..3bcc635 100644
--- 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
@@ -16,8 +16,8 @@ public abstract class _CompoundFkTestEntity extends CayenneDataObject {
 
     public static final String PKEY_PK_COLUMN = "PKEY";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<CompoundPkTestEntity> TO_COMPOUND_PK = new Property<>("toCompoundPk");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<CompoundPkTestEntity> TO_COMPOUND_PK = Property.create("toCompoundPk", CompoundPkTestEntity.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 295d14c..c04dfc9 100644
--- 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
@@ -19,10 +19,10 @@ public abstract class _CompoundPkTestEntity extends CayenneDataObject {
     public static final String KEY1_PK_COLUMN = "KEY1";
     public static final String KEY2_PK_COLUMN = "KEY2";
 
-    public static final Property<String> KEY1 = new Property<>("key1");
-    public static final Property<String> KEY2 = new Property<>("key2");
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<CompoundFkTestEntity>> COMPOUND_FK_ARRAY = new Property<>("compoundFkArray");
+    public static final Property<String> KEY1 = Property.create("key1", String.class);
+    public static final Property<String> KEY2 = Property.create("key2", String.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<CompoundFkTestEntity>> COMPOUND_FK_ARRAY = Property.create("compoundFkArray", List.class);
 
     public void setKey1(String key1) {
         writeProperty("key1", key1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 52ad2e1..6efeefd 100644
--- 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
@@ -17,7 +17,7 @@ public abstract class _CalendarEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Calendar> CALENDAR_FIELD = new Property<>("calendarField");
+    public static final Property<Calendar> CALENDAR_FIELD = Property.create("calendarField", Calendar.class);
 
     public void setCalendarField(Calendar calendarField) {
         writeProperty("calendarField", calendarField);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 66dc69e..6303f03 100644
--- 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
@@ -17,9 +17,9 @@ public abstract class _DateTestEntity extends CayenneDataObject {
 
     public static final String DATE_TEST_ID_PK_COLUMN = "DATE_TEST_ID";
 
-    public static final Property<Date> DATE_COLUMN = new Property<>("dateColumn");
-    public static final Property<Date> TIME_COLUMN = new Property<>("timeColumn");
-    public static final Property<Date> TIMESTAMP_COLUMN = new Property<>("timestampColumn");
+    public static final Property<Date> DATE_COLUMN = Property.create("dateColumn", Date.class);
+    public static final Property<Date> TIME_COLUMN = Property.create("timeColumn", Date.class);
+    public static final Property<Date> TIMESTAMP_COLUMN = Property.create("timestampColumn", Date.class);
 
     public void setDateColumn(Date dateColumn) {
         writeProperty("dateColumn", dateColumn);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/db1/auto/_CrossdbM1E1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/db1/auto/_CrossdbM1E1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/db1/auto/_CrossdbM1E1.java
index e3bec81..0cd4fc0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/db1/auto/_CrossdbM1E1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/db1/auto/_CrossdbM1E1.java
@@ -19,9 +19,9 @@ public abstract class _CrossdbM1E1 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<CrossdbM2E1>> FLATTENED = new Property<>("flattened");
-    public static final Property<List<CrossdbM2E2>> LIST_OF_M2E2 = new Property<>("listOfM2E2");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<CrossdbM2E1>> FLATTENED = Property.create("flattened", List.class);
+    public static final Property<List<CrossdbM2E2>> LIST_OF_M2E2 = Property.create("listOfM2E2", List.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E1.java
index 1f2c5a0..bcf4067 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E1.java
@@ -18,8 +18,8 @@ public abstract class _CrossdbM2E1 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<CrossdbM2E2>> LIST_OF_M2E2 = new Property<>("listOfM2E2");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<CrossdbM2E2>> LIST_OF_M2E2 = Property.create("listOfM2E2", List.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E2.java
index 4ba67f9..364acfb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/db2/auto/_CrossdbM2E2.java
@@ -17,9 +17,9 @@ public abstract class _CrossdbM2E2 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<CrossdbM1E1> TO_M1E1 = new Property<>("toM1E1");
-    public static final Property<CrossdbM2E1> TO_M2E1 = new Property<>("toM2E1");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<CrossdbM1E1> TO_M1E1 = Property.create("toM1E1", CrossdbM1E1.class);
+    public static final Property<CrossdbM2E1> TO_M2E1 = Property.create("toM2E1", CrossdbM2E1.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java
index 691cb9b..821a5f3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java
@@ -16,8 +16,8 @@ public abstract class _DeleteCascade extends CayenneDataObject {
 
     public static final String DELETE_CASCADE_ID_PK_COLUMN = "DELETE_CASCADE_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<DeleteRule> CASCADE = new Property<>("cascade");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<DeleteRule> CASCADE = Property.create("cascade", DeleteRule.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java
index 56621b8..16c2005 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java
@@ -16,8 +16,8 @@ public abstract class _DeleteDeny extends CayenneDataObject {
 
     public static final String DELETE_DENY_ID_PK_COLUMN = "DELETE_DENY_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<DeleteRule> DENY = new Property<>("deny");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<DeleteRule> DENY = Property.create("deny", DeleteRule.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java
index 542a9a5..28f9bef 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java
@@ -16,8 +16,8 @@ public abstract class _DeleteNullify extends CayenneDataObject {
 
     public static final String DELETE_NULLIFY_ID_PK_COLUMN = "DELETE_NULLIFY_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<DeleteRule> NULLIFY = new Property<>("nullify");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<DeleteRule> NULLIFY = Property.create("nullify", DeleteRule.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java
index b7cad7d..2f609ea 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java
@@ -20,10 +20,10 @@ public abstract class _DeleteRule extends CayenneDataObject {
 
     public static final String DELETE_RULE_ID_PK_COLUMN = "DELETE_RULE_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<DeleteCascade>> FROM_CASCADE = new Property<>("fromCascade");
-    public static final Property<List<DeleteDeny>> FROM_DENY = new Property<>("fromDeny");
-    public static final Property<List<DeleteNullify>> FROM_NULLIFY = new Property<>("fromNullify");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<DeleteCascade>> FROM_CASCADE = Property.create("fromCascade", List.class);
+    public static final Property<List<DeleteDeny>> FROM_DENY = Property.create("fromDeny", List.class);
+    public static final Property<List<DeleteNullify>> FROM_NULLIFY = Property.create("fromNullify", List.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_EmbedEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_EmbedEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_EmbedEntity1.java
index b610a19..de2fa33 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_EmbedEntity1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_EmbedEntity1.java
@@ -16,9 +16,9 @@ public abstract class _EmbedEntity1 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Embeddable1> EMBEDDED1 = new Property<>("embedded1");
-    public static final Property<Embeddable1> EMBEDDED2 = new Property<>("embedded2");
-    public static final Property<String> NAME = new Property<>("name");
+    public static final Property<Embeddable1> EMBEDDED1 = Property.create("embedded1", Embeddable1.class);
+    public static final Property<Embeddable1> EMBEDDED2 = Property.create("embedded2", Embeddable1.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
 
     public void setEmbedded1(Embeddable1 embedded1) {
         writeProperty("embedded1", embedded1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_Embeddable1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_Embeddable1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_Embeddable1.java
index 449a8f8..1084e08 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_Embeddable1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/embeddable/auto/_Embeddable1.java
@@ -11,8 +11,8 @@ import org.apache.cayenne.exp.Property;
  */
 public abstract class _Embeddable1 extends Object {
 
-    public static final Property<String> EMBEDDED10 = new Property<>("embedded10");
-    public static final Property<String> EMBEDDED20 = new Property<>("embedded20");
+    public static final Property<String> EMBEDDED10 = Property.create("embedded10", String.class);
+    public static final Property<String> EMBEDDED20 = Property.create("embedded20", String.class);
 
     // special properties injected by Cayenne
     private Persistent owner;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 50b4821..046cf67 100644
--- 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
@@ -16,7 +16,7 @@ public abstract class _EnumEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Enum1> ENUM_ATTRIBUTE = new Property<>("enumAttribute");
+    public static final Property<Enum1> ENUM_ATTRIBUTE = Property.create("enumAttribute", Enum1.class);
 
     public void setEnumAttribute(Enum1 enumAttribute) {
         writeProperty("enumAttribute", enumAttribute);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 6ecda53..bb74881 100644
--- 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
@@ -16,7 +16,7 @@ public abstract class _ExtendedTypeEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<StringET1> NAME = new Property<>("name");
+    public static final Property<StringET1> NAME = Property.create("name", StringET1.class);
 
     public void setName(StringET1 name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 91178ee..1077a88 100644
--- 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
@@ -18,8 +18,8 @@ public abstract class _GeneratedColumnCompKey extends CayenneDataObject {
     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<>("name");
-    public static final Property<GeneratedColumnCompMaster> TO_MASTER = new Property<>("toMaster");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<GeneratedColumnCompMaster> TO_MASTER = Property.create("toMaster", GeneratedColumnCompMaster.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index bf07582..053b972 100644
--- 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
@@ -18,8 +18,8 @@ public abstract class _GeneratedColumnCompMaster extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<GeneratedColumnCompKey>> TO_DETAIL = new Property<>("toDetail");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<GeneratedColumnCompKey>> TO_DETAIL = Property.create("toDetail", List.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index fb524f8..e3693bf 100644
--- 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
@@ -16,8 +16,8 @@ public abstract class _GeneratedColumnDep extends CayenneDataObject {
 
     public static final String GENERATED_COLUMN_FK_PK_COLUMN = "GENERATED_COLUMN_FK";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<GeneratedColumnTestEntity> TO_MASTER = new Property<>("toMaster");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<GeneratedColumnTestEntity> TO_MASTER = Property.create("toMaster", GeneratedColumnTestEntity.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 5f27685..f0cd340 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _GeneratedColumnTest2 extends CayenneDataObject {
 
     public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
 
-    public static final Property<String> NAME = new Property<>("name");
+    public static final Property<String> NAME = Property.create("name", String.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 83b3ec2..de284e1 100644
--- 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
@@ -16,8 +16,8 @@ public abstract class _GeneratedColumnTestEntity extends CayenneDataObject {
 
     public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<GeneratedColumnDep> TO_DEP = new Property<>("toDep");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<GeneratedColumnDep> TO_DEP = Property.create("toDep", GeneratedColumnDep.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index d139240..8d41cef 100644
--- 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
@@ -18,7 +18,7 @@ public abstract class _GeneratedF1 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<GeneratedF2>> F2 = new Property<>("f2");
+    public static final Property<List<GeneratedF2>> F2 = Property.create("f2", List.class);
 
     public void addToF2(GeneratedF2 obj) {
         addToManyTarget("f2", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 1d1b92f..d0ae8cb 100644
--- 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
@@ -18,7 +18,7 @@ public abstract class _GeneratedF2 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<GeneratedF1>> F1 = new Property<>("f1");
+    public static final Property<List<GeneratedF1>> F1 = Property.create("f1", List.class);
 
     public void addToF1(GeneratedF1 obj) {
         addToManyTarget("f1", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java
index ea0d99b..009b321 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java
@@ -17,9 +17,9 @@ public abstract class _BaseEntity extends CayenneDataObject {
 
     public static final String BASE_ENTITY_ID_PK_COLUMN = "BASE_ENTITY_ID";
 
-    public static final Property<String> ENTITY_TYPE = new Property<>("entityType");
-    public static final Property<DirectToSubEntity> TO_DIRECT_TO_SUB_ENTITY = new Property<>("toDirectToSubEntity");
-    public static final Property<RelatedEntity> TO_RELATED_ENTITY = new Property<>("toRelatedEntity");
+    public static final Property<String> ENTITY_TYPE = Property.create("entityType", String.class);
+    public static final Property<DirectToSubEntity> TO_DIRECT_TO_SUB_ENTITY = Property.create("toDirectToSubEntity", DirectToSubEntity.class);
+    public static final Property<RelatedEntity> TO_RELATED_ENTITY = Property.create("toRelatedEntity", RelatedEntity.class);
 
     public void setEntityType(String entityType) {
         writeProperty("entityType", entityType);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java
index c6ec424..e841796 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java
@@ -18,7 +18,7 @@ public abstract class _DirectToSubEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<SubEntity>> SUB_ENTITIES = new Property<>("subEntities");
+    public static final Property<List<SubEntity>> SUB_ENTITIES = Property.create("subEntities", List.class);
 
     public void addToSubEntities(SubEntity obj) {
         addToManyTarget("subEntities", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java
index b860ca2..6a2a911 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java
@@ -19,8 +19,8 @@ public abstract class _RelatedEntity extends CayenneDataObject {
 
     public static final String RELATED_ENTITY_ID_PK_COLUMN = "RELATED_ENTITY_ID";
 
-    public static final Property<List<BaseEntity>> BASE_ENTITIES = new Property<>("baseEntities");
-    public static final Property<List<SubEntity>> SUB_ENTITIES = new Property<>("subEntities");
+    public static final Property<List<BaseEntity>> BASE_ENTITIES = Property.create("baseEntities", List.class);
+    public static final Property<List<SubEntity>> SUB_ENTITIES = Property.create("subEntities", List.class);
 
     public void addToBaseEntities(BaseEntity obj) {
         addToManyTarget("baseEntities", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Group.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Group.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Group.java
index f2a4032..4a23081 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Group.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Group.java
@@ -19,8 +19,8 @@ public abstract class _Group extends User {
 
     public static final String ID_PK_COLUMN = "id";
 
-    public static final Property<List<Role>> GROUP_MEMBERS = new Property<>("groupMembers");
-    public static final Property<GroupProperties> GROUP_PROPERTIES = new Property<>("groupProperties");
+    public static final Property<List<Role>> GROUP_MEMBERS = Property.create("groupMembers", List.class);
+    public static final Property<GroupProperties> GROUP_PROPERTIES = Property.create("groupProperties", GroupProperties.class);
 
     public void addToGroupMembers(Role obj) {
         addToManyTarget("groupMembers", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_GroupProperties.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_GroupProperties.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_GroupProperties.java
index 5f6c4d4..5e4a5e6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_GroupProperties.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_GroupProperties.java
@@ -16,9 +16,9 @@ public abstract class _GroupProperties extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "id";
 
-    public static final Property<String> DESCRIPTION = new Property<>("description");
-    public static final Property<Long> ID = new Property<>("id");
-    public static final Property<Group> GROUP = new Property<>("group");
+    public static final Property<String> DESCRIPTION = Property.create("description", String.class);
+    public static final Property<Long> ID = Property.create("id", Long.class);
+    public static final Property<Group> GROUP = Property.create("group", Group.class);
 
     public void setDescription(String description) {
         writeProperty("description", description);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Role.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Role.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Role.java
index 6b16b42..a9e98d8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Role.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_Role.java
@@ -18,10 +18,10 @@ public abstract class _Role extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "id";
 
-    public static final Property<Long> ID = new Property<>("id");
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<Integer> TYPE = new Property<>("type");
-    public static final Property<List<Group>> ROLE_GROUPS = new Property<>("roleGroups");
+    public static final Property<Long> ID = Property.create("id", Long.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<Integer> TYPE = Property.create("type", Integer.class);
+    public static final Property<List<Group>> ROLE_GROUPS = Property.create("roleGroups", List.class);
 
     public void setId(long id) {
         writeProperty("id", id);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_User.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_User.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_User.java
index 769f40a..90509cb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_User.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_User.java
@@ -16,7 +16,7 @@ public abstract class _User extends Role {
 
     public static final String ID_PK_COLUMN = "id";
 
-    public static final Property<UserProperties> USER_PROPERTIES = new Property<>("userProperties");
+    public static final Property<UserProperties> USER_PROPERTIES = Property.create("userProperties", UserProperties.class);
 
     public void setUserProperties(UserProperties userProperties) {
         setToOneTarget("userProperties", userProperties, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_UserProperties.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_UserProperties.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_UserProperties.java
index 7a046a8..983ff46 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_UserProperties.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_flat/auto/_UserProperties.java
@@ -16,9 +16,9 @@ public abstract class _UserProperties extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "id";
 
-    public static final Property<Long> ID = new Property<>("id");
-    public static final Property<String> NICKNAME = new Property<>("nickname");
-    public static final Property<User> USER = new Property<>("user");
+    public static final Property<Long> ID = Property.create("id", Long.class);
+    public static final Property<String> NICKNAME = Property.create("nickname", String.class);
+    public static final Property<User> USER = Property.create("user", User.class);
 
     public void setId(Long id) {
         writeProperty("id", id);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
index a266f29..aa12f80 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
@@ -18,9 +18,9 @@ public abstract class _AbstractPerson extends CayenneDataObject {
 
     public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<String> PERSON_TYPE = new Property<>("personType");
-    public static final Property<List<PersonNotes>> NOTES = new Property<>("notes");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<String> PERSON_TYPE = Property.create("personType", String.class);
+    public static final Property<List<PersonNotes>> NOTES = Property.create("notes", List.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
index b63919b..762e3be 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
@@ -16,8 +16,8 @@ public abstract class _Address extends CayenneDataObject {
 
     public static final String ADDRESS_ID_PK_COLUMN = "ADDRESS_ID";
 
-    public static final Property<String> CITY = new Property<>("city");
-    public static final Property<Employee> TO_EMPLOYEE = new Property<>("toEmployee");
+    public static final Property<String> CITY = Property.create("city", String.class);
+    public static final Property<Employee> TO_EMPLOYEE = Property.create("toEmployee", Employee.class);
 
     public void setCity(String city) {
         writeProperty("city", city);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
index 4cb6679..0aa752f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
@@ -18,8 +18,8 @@ public abstract class _ClientCompany extends CayenneDataObject {
 
     public static final String CLIENT_COMPANY_ID_PK_COLUMN = "CLIENT_COMPANY_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<CustomerRepresentative>> REPRESENTATIVES = new Property<>("representatives");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<CustomerRepresentative>> REPRESENTATIVES = Property.create("representatives", List.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
index f1dcd19..4aac968 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
@@ -16,8 +16,8 @@ public abstract class _CustomerRepresentative extends AbstractPerson {
 
     public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
 
-    public static final Property<String> CLIENT_CONTACT_TYPE = new Property<>("clientContactType");
-    public static final Property<ClientCompany> TO_CLIENT_COMPANY = new Property<>("toClientCompany");
+    public static final Property<String> CLIENT_CONTACT_TYPE = Property.create("clientContactType", String.class);
+    public static final Property<ClientCompany> TO_CLIENT_COMPANY = Property.create("toClientCompany", ClientCompany.class);
 
     public void setClientContactType(String clientContactType) {
         writeProperty("clientContactType", clientContactType);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
index db0af61..b52592a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
@@ -19,9 +19,9 @@ public abstract class _Department extends CayenneDataObject {
 
     public static final String DEPARTMENT_ID_PK_COLUMN = "DEPARTMENT_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<Employee>> EMPLOYEES = new Property<>("employees");
-    public static final Property<Manager> TO_MANAGER = new Property<>("toManager");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<Employee>> EMPLOYEES = Property.create("employees", List.class);
+    public static final Property<Manager> TO_MANAGER = Property.create("toManager", Manager.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
index 3f84d2e..6cebc42 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
@@ -19,9 +19,9 @@ public abstract class _Employee extends AbstractPerson {
 
     public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
 
-    public static final Property<Float> SALARY = new Property<>("salary");
-    public static final Property<List<Address>> ADDRESSES = new Property<>("addresses");
-    public static final Property<Department> TO_DEPARTMENT = new Property<>("toDepartment");
+    public static final Property<Float> SALARY = Property.create("salary", Float.class);
+    public static final Property<List<Address>> ADDRESSES = Property.create("addresses", List.class);
+    public static final Property<Department> TO_DEPARTMENT = Property.create("toDepartment", Department.class);
 
     public void setSalary(Float salary) {
         writeProperty("salary", salary);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
index 939aa27..b56dd23 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
@@ -18,7 +18,7 @@ public abstract class _Manager extends Employee {
 
     public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
 
-    public static final Property<List<Department>> MANAGED_DEPARTMENTS = new Property<>("managedDepartments");
+    public static final Property<List<Department>> MANAGED_DEPARTMENTS = Property.create("managedDepartments", List.class);
 
     public void addToManagedDepartments(Department obj) {
         addToManyTarget("managedDepartments", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
index de096d6..49868b9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
@@ -16,8 +16,8 @@ public abstract class _PersonNotes extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NOTES = new Property<>("notes");
-    public static final Property<AbstractPerson> PERSON = new Property<>("person");
+    public static final Property<String> NOTES = Property.create("notes", String.class);
+    public static final Property<AbstractPerson> PERSON = Property.create("person", AbstractPerson.class);
 
     public void setNotes(String notes) {
         writeProperty("notes", notes);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
index 51d7c2d..4dd6db4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
@@ -15,8 +15,8 @@ public abstract class _Iv1Root extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> DISCRIMINATOR = new Property<>("discriminator");
-    public static final Property<String> NAME = new Property<>("name");
+    public static final Property<String> DISCRIMINATOR = Property.create("discriminator", String.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
 
     public void setDiscriminator(String discriminator) {
         writeProperty("discriminator", discriminator);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
index 47e6d58..c758e1a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
@@ -15,7 +15,7 @@ public abstract class _Iv1Sub1 extends Iv1Root {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
+    public static final Property<String> NAME = Property.create("name", String.class);
 
     public void setName(String name) {
         writeProperty("name", name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
index 70d8ec6..b36cbaf 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
@@ -15,7 +15,7 @@ public abstract class _Iv2Root extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> DISCRIMINATOR = new Property<>("discriminator");
+    public static final Property<String> DISCRIMINATOR = Property.create("discriminator", String.class);
 
     public void setDiscriminator(String discriminator) {
         writeProperty("discriminator", discriminator);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
index b086375..fb574b7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
@@ -16,7 +16,7 @@ public abstract class _Iv2Sub1 extends Iv2Root {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Iv2X> X = new Property<>("x");
+    public static final Property<Iv2X> X = Property.create("x", Iv2X.class);
 
     public void setX(Iv2X x) {
         setToOneTarget("x", x, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvAbstract.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvAbstract.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvAbstract.java
index fc65225..3eb93a3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvAbstract.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvAbstract.java
@@ -15,7 +15,7 @@ public abstract class _IvAbstract extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> TYPE = new Property<>("type");
+    public static final Property<String> TYPE = Property.create("type", String.class);
 
     public void setType(String type) {
         writeProperty("type", type);