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:35 UTC

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

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvBase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvBase.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvBase.java
index 30dd58d..59984a8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvBase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvBase.java
@@ -15,8 +15,8 @@ public abstract class _IvBase extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<String> TYPE = new Property<>("type");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<String> TYPE = Property.create("type", 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/_IvConcrete.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvConcrete.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvConcrete.java
index 9d83a29..bd260e1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvConcrete.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvConcrete.java
@@ -18,9 +18,9 @@ public abstract class _IvConcrete extends IvAbstract {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<IvConcrete>> CHILDREN = new Property<>("children");
-    public static final Property<IvConcrete> PARENT = new Property<>("parent");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<IvConcrete>> CHILDREN = Property.create("children", List.class);
+    public static final Property<IvConcrete> PARENT = Property.create("parent", IvConcrete.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/_IvImpl.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvImpl.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvImpl.java
index cd71ea5..4ce4c5c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvImpl.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvImpl.java
@@ -16,8 +16,8 @@ public abstract class _IvImpl extends IvBase {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> ATTR1 = new Property<>("attr1");
-    public static final Property<IvOther> OTHER = new Property<>("other");
+    public static final Property<String> ATTR1 = Property.create("attr1", String.class);
+    public static final Property<IvOther> OTHER = Property.create("other", IvOther.class);
 
     public void setAttr1(String attr1) {
         writeProperty("attr1", attr1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvOther.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvOther.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvOther.java
index e4ae2af..00508b9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvOther.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvOther.java
@@ -18,8 +18,8 @@ public abstract class _IvOther extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<IvImpl>> IMPLS = new Property<>("impls");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<IvImpl>> IMPLS = Property.create("impls", 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_vertical/auto/_IvRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
index 814608a..68f0488 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
@@ -15,8 +15,8 @@ public abstract class _IvRoot 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/_IvSub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java
index 1aa12cd..8d21cd7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java
@@ -15,7 +15,7 @@ public abstract class _IvSub1 extends IvRoot {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> SUB1NAME = new Property<>("sub1Name");
+    public static final Property<String> SUB1NAME = Property.create("sub1Name", String.class);
 
     public void setSub1Name(String sub1Name) {
         writeProperty("sub1Name", sub1Name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java
index 3dcda28..f4ebb4d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java
@@ -15,7 +15,7 @@ public abstract class _IvSub1Sub1 extends IvSub1 {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> SUB1SUB1NAME = new Property<>("sub1Sub1Name");
+    public static final Property<String> SUB1SUB1NAME = Property.create("sub1Sub1Name", String.class);
 
     public void setSub1Sub1Name(String sub1Sub1Name) {
         writeProperty("sub1Sub1Name", sub1Sub1Name);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java
index a245879..bb22d47 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java
@@ -15,8 +15,8 @@ public abstract class _IvSub2 extends IvRoot {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> SUB2ATTR = new Property<>("sub2Attr");
-    public static final Property<String> SUB2NAME = new Property<>("sub2Name");
+    public static final Property<String> SUB2ATTR = Property.create("sub2Attr", String.class);
+    public static final Property<String> SUB2NAME = Property.create("sub2Name", String.class);
 
     public void setSub2Attr(String sub2Attr) {
         writeProperty("sub2Attr", sub2Attr);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub3.java
index 1b66feb..0bab942 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub3.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub3.java
@@ -15,7 +15,7 @@ public abstract class _IvSub3 extends IvRoot {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<IvRoot> IV_ROOT = new Property<>("ivRoot");
+    public static final Property<IvRoot> IV_ROOT = Property.create("ivRoot", IvRoot.class);
 
 
     public IvRoot getIvRoot() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycle_callbacks_order/auto/_Lifecycle.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycle_callbacks_order/auto/_Lifecycle.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycle_callbacks_order/auto/_Lifecycle.java
index 1353bf4..b949e46 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycle_callbacks_order/auto/_Lifecycle.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycle_callbacks_order/auto/_Lifecycle.java
@@ -15,7 +15,7 @@ public abstract class _Lifecycle extends CayenneDataObject {
 
     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/lifecycles/auto/_Lifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java
index abf3e71..a18472d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java
@@ -15,7 +15,7 @@ public abstract class _Lifecycles extends CayenneDataObject {
 
     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/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
index d62cb5b..9ad2f80 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _BlobTestEntity extends CayenneDataObject {
 
     public static final String BLOB_TEST_ID_PK_COLUMN = "BLOB_TEST_ID";
 
-    public static final Property<byte[]> BLOB_COL = new Property<>("blobCol");
+    public static final Property<byte[]> BLOB_COL = Property.create("blobCol", byte[].class);
 
     public void setBlobCol(byte[] blobCol) {
         writeProperty("blobCol", blobCol);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index a449327..5034c87 100644
--- 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
@@ -18,8 +18,8 @@ public abstract class _ClobTestEntity extends CayenneDataObject {
 
     public static final String CLOB_TEST_ID_PK_COLUMN = "CLOB_TEST_ID";
 
-    public static final Property<String> CLOB_COL = new Property<>("clobCol");
-    public static final Property<List<ClobTestRelation>> CLOB_VALUE = new Property<>("clobValue");
+    public static final Property<String> CLOB_COL = Property.create("clobCol", String.class);
+    public static final Property<List<ClobTestRelation>> CLOB_VALUE = Property.create("clobValue", List.class);
 
     public void setClobCol(String clobCol) {
         writeProperty("clobCol", clobCol);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 4c58284..01e3e05 100644
--- 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
@@ -16,9 +16,9 @@ public abstract class _ClobTestRelation extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Integer> ID = new Property<>("id");
-    public static final Property<Integer> VALUE = new Property<>("value");
-    public static final Property<ClobTestEntity> CLOB_ID = new Property<>("clobId");
+    public static final Property<Integer> ID = Property.create("id", Integer.class);
+    public static final Property<Integer> VALUE = Property.create("value", Integer.class);
+    public static final Property<ClobTestEntity> CLOB_ID = Property.create("clobId", ClobTestEntity.class);
 
     public void setId(Integer id) {
         writeProperty("id", id);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_NClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_NClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_NClobTestEntity.java
index dee289b..56299e5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_NClobTestEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_NClobTestEntity.java
@@ -15,7 +15,7 @@ public abstract class _NClobTestEntity extends CayenneDataObject {
 
     public static final String NCLOB_TEST_ID_PK_COLUMN = "NCLOB_TEST_ID";
 
-    public static final Property<String> NCLOB_COL = new Property<>("nclobCol");
+    public static final Property<String> NCLOB_COL = Property.create("nclobCol", String.class);
 
     public void setNclobCol(String nclobCol) {
         writeProperty("nclobCol", nclobCol);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_LockingHelper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_LockingHelper.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_LockingHelper.java
index 9a56e57..9973a75 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_LockingHelper.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_LockingHelper.java
@@ -16,8 +16,8 @@ public abstract class _LockingHelper extends CayenneDataObject {
 
     public static final String LOCKING_HELPER_ID_PK_COLUMN = "LOCKING_HELPER_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<RelLockingTestEntity> TO_REL_LOCKING_TEST = new Property<>("toRelLockingTest");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<RelLockingTestEntity> TO_REL_LOCKING_TEST = Property.create("toRelLockingTest", RelLockingTestEntity.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/locking/auto/_RelLockingTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_RelLockingTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_RelLockingTestEntity.java
index 6de77eb..e74bc58 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_RelLockingTestEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_RelLockingTestEntity.java
@@ -19,9 +19,9 @@ public abstract class _RelLockingTestEntity extends CayenneDataObject {
 
     public static final String REL_LOCKING_TEST_ID_PK_COLUMN = "REL_LOCKING_TEST_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<LockingHelper>> LOCKING_HELPERS = new Property<>("lockingHelpers");
-    public static final Property<SimpleLockingTestEntity> TO_SIMPLE_LOCKING_TEST = new Property<>("toSimpleLockingTest");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<LockingHelper>> LOCKING_HELPERS = Property.create("lockingHelpers", List.class);
+    public static final Property<SimpleLockingTestEntity> TO_SIMPLE_LOCKING_TEST = Property.create("toSimpleLockingTest", SimpleLockingTestEntity.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/locking/auto/_SimpleLockingTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SimpleLockingTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SimpleLockingTestEntity.java
index 478d673..4bb40f6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SimpleLockingTestEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SimpleLockingTestEntity.java
@@ -15,8 +15,8 @@ public abstract class _SimpleLockingTestEntity extends CayenneDataObject {
 
     public static final String LOCKING_TEST_ID_PK_COLUMN = "LOCKING_TEST_ID";
 
-    public static final Property<String> DESCRIPTION = new Property<>("description");
-    public static final Property<String> NAME = new Property<>("name");
+    public static final Property<String> DESCRIPTION = Property.create("description", String.class);
+    public static final Property<String> NAME = Property.create("name", String.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/map_to_many/auto/_IdMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java
index 5bae36d..575121e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java
@@ -18,7 +18,7 @@ public abstract class _IdMapToMany extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Map<Object, IdMapToManyTarget>> TARGETS = new Property<>("targets");
+    public static final Property<Map<Object, IdMapToManyTarget>> TARGETS = Property.create("targets", Map.class);
 
     public void addToTargets(IdMapToManyTarget obj) {
         addToManyTarget("targets", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java
index 7291476..9e6d292 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java
@@ -16,7 +16,7 @@ public abstract class _IdMapToManyTarget extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<IdMapToMany> MAP_TO_MANY = new Property<>("mapToMany");
+    public static final Property<IdMapToMany> MAP_TO_MANY = Property.create("mapToMany", IdMapToMany.class);
 
     public void setMapToMany(IdMapToMany mapToMany) {
         setToOneTarget("mapToMany", mapToMany, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java
index 6c93b25..fc0b07f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java
@@ -18,7 +18,7 @@ public abstract class _MapToMany extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Map<String, MapToManyTarget>> TARGETS = new Property<>("targets");
+    public static final Property<Map<String, MapToManyTarget>> TARGETS = Property.create("targets", Map.class);
 
     public void addToTargets(MapToManyTarget obj) {
         addToManyTarget("targets", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java
index a1e34c5..c5c2842 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java
@@ -16,8 +16,8 @@ public abstract class _MapToManyTarget extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<MapToMany> MAP_TO_MANY = new Property<>("mapToMany");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<MapToMany> MAP_TO_MANY = Property.create("mapToMany", MapToMany.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/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
index 2e475ee..7825496 100644
--- 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
@@ -16,8 +16,8 @@ public abstract class _MeaningfulPKDep extends CayenneDataObject {
 
     public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
 
-    public static final Property<String> DESCR = new Property<>("descr");
-    public static final Property<MeaningfulPKTest1> TO_MEANINGFUL_PK = new Property<>("toMeaningfulPK");
+    public static final Property<String> DESCR = Property.create("descr", String.class);
+    public static final Property<MeaningfulPKTest1> TO_MEANINGFUL_PK = Property.create("toMeaningfulPK", MeaningfulPKTest1.class);
 
     public void setDescr(String descr) {
         writeProperty("descr", descr);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 7c21f13..4816c13 100644
--- 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
@@ -18,9 +18,9 @@ public abstract class _MeaningfulPKTest1 extends CayenneDataObject {
 
     public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
 
-    public static final Property<String> DESCR = new Property<>("descr");
-    public static final Property<Integer> PK_ATTRIBUTE = new Property<>("pkAttribute");
-    public static final Property<List<MeaningfulPKDep>> MEANINGFUL_PKDEP_ARRAY = new Property<>("meaningfulPKDepArray");
+    public static final Property<String> DESCR = Property.create("descr", String.class);
+    public static final Property<Integer> PK_ATTRIBUTE = Property.create("pkAttribute", Integer.class);
+    public static final Property<List<MeaningfulPKDep>> MEANINGFUL_PKDEP_ARRAY = Property.create("meaningfulPKDepArray", List.class);
 
     public void setDescr(String descr) {
         writeProperty("descr", descr);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java
index 690f577..b988ecd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java
@@ -15,7 +15,7 @@ public abstract class _MeaningfulPk extends CayenneDataObject {
 
     public static final String PK_PK_COLUMN = "PK";
 
-    public static final Property<String> PK = new Property<>("pk");
+    public static final Property<String> PK = Property.create("pk", String.class);
 
     public void setPk(String pk) {
         writeProperty("pk", pk);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 556f2ee..611b076 100644
--- 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
@@ -15,10 +15,10 @@ public abstract class _ArraysEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<byte[]> BYTE_ARRAY = new Property<>("byteArray");
-    public static final Property<Byte[]> BYTE_WRAPPER_ARRAY = new Property<>("byteWrapperArray");
-    public static final Property<char[]> CHAR_ARRAY = new Property<>("charArray");
-    public static final Property<Character[]> CHAR_WRAPPER_ARRAY = new Property<>("charWrapperArray");
+    public static final Property<byte[]> BYTE_ARRAY = Property.create("byteArray", byte[].class);
+    public static final Property<Byte[]> BYTE_WRAPPER_ARRAY = Property.create("byteWrapperArray", Byte[].class);
+    public static final Property<char[]> CHAR_ARRAY = Property.create("charArray", char[].class);
+    public static final Property<Character[]> CHAR_WRAPPER_ARRAY = Property.create("charWrapperArray", Character[].class);
 
     public void setByteArray(byte[] byteArray) {
         writeProperty("byteArray", byteArray);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index d7e6fe4..836ecc1 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _CharacterEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Character> CHARACTER_FIELD = new Property<>("characterField");
+    public static final Property<Character> CHARACTER_FIELD = Property.create("characterField", Character.class);
 
     public void setCharacterField(Character characterField) {
         writeProperty("characterField", characterField);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index dca787e..1512815 100644
--- 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
@@ -16,7 +16,7 @@ public abstract class _SerializableEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<MockSerializable> SERIALIZABLE_FIELD = new Property<>("serializableField");
+    public static final Property<MockSerializable> SERIALIZABLE_FIELD = Property.create("serializableField", MockSerializable.class);
 
     public void setSerializableField(MockSerializable serializableField) {
         writeProperty("serializableField", serializableField);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 27bc489..b3f8b88 100644
--- 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
@@ -18,9 +18,9 @@ public abstract class _MixedPersistenceStrategy extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> DESCRIPTION = new Property<>("description");
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<MixedPersistenceStrategy2>> DETAILS = new Property<>("details");
+    public static final Property<String> DESCRIPTION = Property.create("description", String.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<MixedPersistenceStrategy2>> DETAILS = Property.create("details", List.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/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
index 0fe090b..227192d 100644
--- 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
@@ -16,8 +16,8 @@ public abstract class _MixedPersistenceStrategy2 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<MixedPersistenceStrategy> MASTER = new Property<>("master");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<MixedPersistenceStrategy> MASTER = Property.create("master", MixedPersistenceStrategy.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/mt/auto/_MtTable1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1.java
index b8292f7..8e14471 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1.java
@@ -18,9 +18,9 @@ public abstract class _MtTable1 extends CayenneDataObject {
 
     public static final String TABLE1_ID_PK_COLUMN = "TABLE1_ID";
 
-    public static final Property<String> GLOBAL_ATTRIBUTE1 = new Property<>("globalAttribute1");
-    public static final Property<String> SERVER_ATTRIBUTE1 = new Property<>("serverAttribute1");
-    public static final Property<List<MtTable2>> TABLE2ARRAY = new Property<>("table2Array");
+    public static final Property<String> GLOBAL_ATTRIBUTE1 = Property.create("globalAttribute1", String.class);
+    public static final Property<String> SERVER_ATTRIBUTE1 = Property.create("serverAttribute1", String.class);
+    public static final Property<List<MtTable2>> TABLE2ARRAY = Property.create("table2Array", List.class);
 
     public void setGlobalAttribute1(String globalAttribute1) {
         writeProperty("globalAttribute1", globalAttribute1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass1.java
index 0d7efd5..54e5146 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass1.java
@@ -15,7 +15,7 @@ public abstract class _MtTable1Subclass1 extends MtTable1 {
 
     public static final String TABLE1_ID_PK_COLUMN = "TABLE1_ID";
 
-    public static final Property<String> SUBCLASS1ATTRIBUTE1 = new Property<>("subclass1Attribute1");
+    public static final Property<String> SUBCLASS1ATTRIBUTE1 = Property.create("subclass1Attribute1", String.class);
 
     public void setSubclass1Attribute1(String subclass1Attribute1) {
         writeProperty("subclass1Attribute1", subclass1Attribute1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass2.java
index 1492830..7d64910 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable1Subclass2.java
@@ -15,7 +15,7 @@ public abstract class _MtTable1Subclass2 extends MtTable1 {
 
     public static final String TABLE1_ID_PK_COLUMN = "TABLE1_ID";
 
-    public static final Property<String> SUBCLASS2ATTRIBUTE1 = new Property<>("subclass2Attribute1");
+    public static final Property<String> SUBCLASS2ATTRIBUTE1 = Property.create("subclass2Attribute1", String.class);
 
     public void setSubclass2Attribute1(String subclass2Attribute1) {
         writeProperty("subclass2Attribute1", subclass2Attribute1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable2.java
index 19ab637..c03999f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable2.java
@@ -17,9 +17,9 @@ public abstract class _MtTable2 extends CayenneDataObject {
 
     public static final String TABLE2_ID_PK_COLUMN = "TABLE2_ID";
 
-    public static final Property<String> GLOBAL_ATTRIBUTE = new Property<>("globalAttribute");
-    public static final Property<MtTable1> TABLE1 = new Property<>("table1");
-    public static final Property<MtTable3> TABLE3 = new Property<>("table3");
+    public static final Property<String> GLOBAL_ATTRIBUTE = Property.create("globalAttribute", String.class);
+    public static final Property<MtTable1> TABLE1 = Property.create("table1", MtTable1.class);
+    public static final Property<MtTable3> TABLE3 = Property.create("table3", MtTable3.class);
 
     public void setGlobalAttribute(String globalAttribute) {
         writeProperty("globalAttribute", globalAttribute);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable3.java
index 5761c5d..af3177c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable3.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable3.java
@@ -18,10 +18,10 @@ public abstract class _MtTable3 extends CayenneDataObject {
 
     public static final String TABLE3_ID_PK_COLUMN = "TABLE3_ID";
 
-    public static final Property<byte[]> BINARY_COLUMN = new Property<>("binaryColumn");
-    public static final Property<String> CHAR_COLUMN = new Property<>("charColumn");
-    public static final Property<Integer> INT_COLUMN = new Property<>("intColumn");
-    public static final Property<List<MtTable2>> TABLE2ARRAY = new Property<>("table2Array");
+    public static final Property<byte[]> BINARY_COLUMN = Property.create("binaryColumn", byte[].class);
+    public static final Property<String> CHAR_COLUMN = Property.create("charColumn", String.class);
+    public static final Property<Integer> INT_COLUMN = Property.create("intColumn", Integer.class);
+    public static final Property<List<MtTable2>> TABLE2ARRAY = Property.create("table2Array", List.class);
 
     public void setBinaryColumn(byte[] binaryColumn) {
         writeProperty("binaryColumn", binaryColumn);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable4.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable4.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable4.java
index fb1b8d7..7a8809d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable4.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable4.java
@@ -18,7 +18,7 @@ public abstract class _MtTable4 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<MtTable5>> TABLE5S = new Property<>("table5s");
+    public static final Property<List<MtTable5>> TABLE5S = Property.create("table5s", List.class);
 
     public void addToTable5s(MtTable5 obj) {
         addToManyTarget("table5s", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable5.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable5.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable5.java
index aa3e7bf..f9d308d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable5.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTable5.java
@@ -18,7 +18,7 @@ public abstract class _MtTable5 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<MtTable4>> TABLE4S = new Property<>("table4s");
+    public static final Property<List<MtTable4>> TABLE4S = Property.create("table4s", List.class);
 
     public void addToTable4s(MtTable4 obj) {
         addToManyTarget("table4s", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 34083f4..b239f13 100644
--- 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
@@ -14,7 +14,7 @@ public abstract class _NoPkTestEntity extends CayenneDataObject {
     private static final long serialVersionUID = 1L; 
 
 
-    public static final Property<Integer> ATTRIBUTE1 = new Property<>("attribute1");
+    public static final Property<Integer> ATTRIBUTE1 = Property.create("attribute1", Integer.class);
 
     public void setAttribute1(Integer attribute1) {
         writeProperty("attribute1", attribute1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 718a600..b1af171 100644
--- 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
@@ -17,7 +17,7 @@ public abstract class _BigDecimalEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<BigDecimal> BIG_DECIMAL_FIELD = new Property<>("bigDecimalField");
+    public static final Property<BigDecimal> BIG_DECIMAL_FIELD = Property.create("bigDecimalField", BigDecimal.class);
 
     public void setBigDecimalField(BigDecimal bigDecimalField) {
         writeProperty("bigDecimalField", bigDecimalField);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 1fac071..565b104 100644
--- 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
@@ -17,7 +17,7 @@ public abstract class _BigIntegerEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<BigInteger> BIG_INTEGER_FIELD = new Property<>("bigIntegerField");
+    public static final Property<BigInteger> BIG_INTEGER_FIELD = Property.create("bigIntegerField", BigInteger.class);
 
     public void setBigIntegerField(BigInteger bigIntegerField) {
         writeProperty("bigIntegerField", bigIntegerField);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index b0a4a82..9a4212e 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _BitNumberTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Integer> BIT_COLUMN = new Property<>("bitColumn");
+    public static final Property<Integer> BIT_COLUMN = Property.create("bitColumn", Integer.class);
 
     public void setBitColumn(Integer bitColumn) {
         writeProperty("bitColumn", bitColumn);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 1820a4c..d81296b 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _BitTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Boolean> BIT_COLUMN = new Property<>("bitColumn");
+    public static final Property<Boolean> BIT_COLUMN = Property.create("bitColumn", Boolean.class);
 
     public void setBitColumn(Boolean bitColumn) {
         writeProperty("bitColumn", bitColumn);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 4da9062..2382e16 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _BooleanTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<>("booleanColumn");
+    public static final Property<Boolean> BOOLEAN_COLUMN = Property.create("booleanColumn", Boolean.class);
 
     public void setBooleanColumn(Boolean booleanColumn) {
         writeProperty("booleanColumn", booleanColumn);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 1877aae..965e61a 100644
--- 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
@@ -15,8 +15,8 @@ public abstract class _DecimalPKTest1 extends CayenneDataObject {
 
     public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
 
-    public static final Property<Double> DECIMAL_PK = new Property<>("decimalPK");
-    public static final Property<String> NAME = new Property<>("name");
+    public static final Property<Double> DECIMAL_PK = Property.create("decimalPK", Double.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
 
     public void setDecimalPK(Double decimalPK) {
         writeProperty("decimalPK", decimalPK);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 6a79d2c..22f5f93 100644
--- 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
@@ -17,8 +17,8 @@ public abstract class _DecimalPKTestEntity extends CayenneDataObject {
 
     public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
 
-    public static final Property<BigDecimal> DECIMAL_PK = new Property<>("decimalPK");
-    public static final Property<String> NAME = new Property<>("name");
+    public static final Property<BigDecimal> DECIMAL_PK = Property.create("decimalPK", BigDecimal.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
 
     public void setDecimalPK(BigDecimal decimalPK) {
         writeProperty("decimalPK", decimalPK);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 8d7789a..2322948 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _LongEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Long> LONG_FIELD = new Property<>("longField");
+    public static final Property<Long> LONG_FIELD = Property.create("longField", Long.class);
 
     public void setLongField(Long longField) {
         writeProperty("longField", longField);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index cc916ba..caa8225 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _SmallintTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Short> SMALLINT_COL = new Property<>("smallintCol");
+    public static final Property<Short> SMALLINT_COL = Property.create("smallintCol", Short.class);
 
     public void setSmallintCol(Short smallintCol) {
         writeProperty("smallintCol", smallintCol);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/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
index 3021254..f1829fd 100644
--- 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
@@ -15,7 +15,7 @@ public abstract class _TinyintTestEntity extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Byte> TINYINT_COL = new Property<>("tinyintCol");
+    public static final Property<Byte> TINYINT_COL = Property.create("tinyintCol", Byte.class);
 
     public void setTinyintCol(Byte tinyintCol) {
         writeProperty("tinyintCol", tinyintCol);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable2.java
index 6425946..9bfc2fb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable2.java
@@ -16,8 +16,8 @@ public abstract class _OnewayTable2 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Integer> ID = new Property<>("id");
-    public static final Property<OnewayTable1> TO_ONE_ONE_WAY_DB = new Property<>("toOneOneWayDb");
+    public static final Property<Integer> ID = Property.create("id", Integer.class);
+    public static final Property<OnewayTable1> TO_ONE_ONE_WAY_DB = Property.create("toOneOneWayDb", OnewayTable1.class);
 
     public void setId(Integer id) {
         writeProperty("id", id);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable3.java
index bd25371..ff6dd56 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable3.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable3.java
@@ -18,7 +18,7 @@ public abstract class _OnewayTable3 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<OnewayTable4>> TO_MANY_ONE_WAY_DB = new Property<>("toManyOneWayDb");
+    public static final Property<List<OnewayTable4>> TO_MANY_ONE_WAY_DB = Property.create("toManyOneWayDb", List.class);
 
     public void addToToManyOneWayDb(OnewayTable4 obj) {
         addToManyTarget("toManyOneWayDb", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified1.java
index 3e92446..89bddae 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified1.java
@@ -18,9 +18,9 @@ public abstract class _Qualified1 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Boolean> DELETED = new Property<>("deleted");
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<Qualified2>> QUALIFIED2S = new Property<>("qualified2s");
+    public static final Property<Boolean> DELETED = Property.create("deleted", Boolean.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<Qualified2>> QUALIFIED2S = Property.create("qualified2s", List.class);
 
     public void setDeleted(Boolean deleted) {
         writeProperty("deleted", deleted);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified2.java
index 2676435..c75b539 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified2.java
@@ -16,9 +16,9 @@ public abstract class _Qualified2 extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Boolean> DELETED = new Property<>("deleted");
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<Qualified1> QUALIFIED1 = new Property<>("qualified1");
+    public static final Property<Boolean> DELETED = Property.create("deleted", Boolean.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<Qualified1> QUALIFIED1 = Property.create("qualified1", Qualified1.class);
 
     public void setDeleted(Boolean deleted) {
         writeProperty("deleted", deleted);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_QuoteAdress.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_QuoteAdress.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_QuoteAdress.java
index 5e37233..a62ef4d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_QuoteAdress.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_QuoteAdress.java
@@ -16,9 +16,9 @@ public abstract class _QuoteAdress 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<String> GROUP = new Property<>("group");
-    public static final Property<Quote_Person> PERSON_REL = new Property<>("person_Rel");
+    public static final Property<String> CITY = Property.create("city", String.class);
+    public static final Property<String> GROUP = Property.create("group", String.class);
+    public static final Property<Quote_Person> PERSON_REL = Property.create("person_Rel", Quote_Person.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/quotemap/auto/_Quote_Person.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_Quote_Person.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_Quote_Person.java
index 6585299..32e734a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_Quote_Person.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/quotemap/auto/_Quote_Person.java
@@ -18,12 +18,12 @@ public abstract class _Quote_Person extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "id";
 
-    public static final Property<Date> D_ATE = new Property<>("dAte");
-    public static final Property<String> F_ULL_NAME = new Property<>("fULL_name");
-    public static final Property<String> GROUP = new Property<>("group");
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<Integer> SALARY = new Property<>("salary");
-    public static final Property<QuoteAdress> ADDRESS_REL = new Property<>("address_Rel");
+    public static final Property<Date> D_ATE = Property.create("dAte", Date.class);
+    public static final Property<String> F_ULL_NAME = Property.create("fULL_name", String.class);
+    public static final Property<String> GROUP = Property.create("group", String.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<Integer> SALARY = Property.create("salary", Integer.class);
+    public static final Property<QuoteAdress> ADDRESS_REL = Property.create("address_Rel", QuoteAdress.class);
 
     public void setDAte(Date dAte) {
         writeProperty("dAte", dAte);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java
index 8a809bd..8ab8644 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java
@@ -18,9 +18,9 @@ public abstract class _Reflexive extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<Reflexive>> CHILDREN = new Property<>("children");
-    public static final Property<Reflexive> TO_PARENT = new Property<>("toParent");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<Reflexive>> CHILDREN = Property.create("children", List.class);
+    public static final Property<Reflexive> TO_PARENT = Property.create("toParent", Reflexive.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/relationships/auto/_FkOfDifferentType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java
index 11a4093..0573abf 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java
@@ -16,7 +16,7 @@ public abstract class _FkOfDifferentType extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<RelationshipHelper> RELATIONSHIP_HELPER = new Property<>("relationshipHelper");
+    public static final Property<RelationshipHelper> RELATIONSHIP_HELPER = Property.create("relationshipHelper", RelationshipHelper.class);
 
     public void setRelationshipHelper(RelationshipHelper relationshipHelper) {
         setToOneTarget("relationshipHelper", relationshipHelper, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java
index a628172..97e939a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java
@@ -16,8 +16,8 @@ public abstract class _MeaningfulFK extends CayenneDataObject {
 
     public static final String MEANIGNFUL_FK_ID_PK_COLUMN = "MEANIGNFUL_FK_ID";
 
-    public static final Property<Integer> RELATIONSHIP_HELPER_ID = new Property<>("relationshipHelperID");
-    public static final Property<RelationshipHelper> TO_RELATIONSHIP_HELPER = new Property<>("toRelationshipHelper");
+    public static final Property<Integer> RELATIONSHIP_HELPER_ID = Property.create("relationshipHelperID", Integer.class);
+    public static final Property<RelationshipHelper> TO_RELATIONSHIP_HELPER = Property.create("toRelationshipHelper", RelationshipHelper.class);
 
     public void setRelationshipHelperID(Integer relationshipHelperID) {
         writeProperty("relationshipHelperID", relationshipHelperID);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java
index f556f18..1f180dd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java
@@ -19,10 +19,10 @@ public abstract class _ReflexiveAndToOne extends CayenneDataObject {
 
     public static final String REFLEXIVE_AND_TO_ONE_ID_PK_COLUMN = "REFLEXIVE_AND_TO_ONE_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<ReflexiveAndToOne>> CHILDREN = new Property<>("children");
-    public static final Property<RelationshipHelper> TO_HELPER = new Property<>("toHelper");
-    public static final Property<ReflexiveAndToOne> TO_PARENT = new Property<>("toParent");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<ReflexiveAndToOne>> CHILDREN = Property.create("children", List.class);
+    public static final Property<RelationshipHelper> TO_HELPER = Property.create("toHelper", RelationshipHelper.class);
+    public static final Property<ReflexiveAndToOne> TO_PARENT = Property.create("toParent", ReflexiveAndToOne.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/relationships/auto/_RelationshipHelper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java
index 1e4213e..86fd4e9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java
@@ -20,10 +20,10 @@ public abstract class _RelationshipHelper extends CayenneDataObject {
 
     public static final String RELATIONSHIP_HELPER_ID_PK_COLUMN = "RELATIONSHIP_HELPER_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<FkOfDifferentType>> FKS_OF_DIFFERENT_TYPE = new Property<>("fksOfDifferentType");
-    public static final Property<List<MeaningfulFK>> MEANIGFUL_FKS = new Property<>("meanigfulFKs");
-    public static final Property<List<ReflexiveAndToOne>> REFLEXIVE_AND_TO_ONE_ARRAY = new Property<>("reflexiveAndToOneArray");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<FkOfDifferentType>> FKS_OF_DIFFERENT_TYPE = Property.create("fksOfDifferentType", List.class);
+    public static final Property<List<MeaningfulFK>> MEANIGFUL_FKS = Property.create("meanigfulFKs", List.class);
+    public static final Property<List<ReflexiveAndToOne>> REFLEXIVE_AND_TO_ONE_ARRAY = Property.create("reflexiveAndToOneArray", 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/relationships_activity/auto/_Activity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java
index f5c51c8..85beb7f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java
@@ -19,9 +19,9 @@ public abstract class _Activity extends CayenneDataObject {
 
     public static final String ACTIVITY_ID_PK_COLUMN = "ACTIVITY_ID";
 
-    public static final Property<Date> APPOINTMENT_DATE = new Property<>("appointmentDate");
-    public static final Property<Integer> APPOINTMENT_NO = new Property<>("appointmentNo");
-    public static final Property<Map<String, ActivityResult>> RESULTS = new Property<>("results");
+    public static final Property<Date> APPOINTMENT_DATE = Property.create("appointmentDate", Date.class);
+    public static final Property<Integer> APPOINTMENT_NO = Property.create("appointmentNo", Integer.class);
+    public static final Property<Map<String, ActivityResult>> RESULTS = Property.create("results", Map.class);
 
     public void setAppointmentDate(Date appointmentDate) {
         writeProperty("appointmentDate", appointmentDate);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java
index 794bf39..5db7ad9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java
@@ -19,9 +19,9 @@ public abstract class _ActivityResult extends CayenneDataObject {
     public static final String APPOINT_NO_PK_COLUMN = "APPOINT_NO";
     public static final String RESULTNAME_PK_COLUMN = "RESULTNAME";
 
-    public static final Property<Date> APPOINT_DATE = new Property<>("appointDate");
-    public static final Property<Integer> APPOINT_NO = new Property<>("appointNo");
-    public static final Property<String> FIELD = new Property<>("field");
+    public static final Property<Date> APPOINT_DATE = Property.create("appointDate", Date.class);
+    public static final Property<Integer> APPOINT_NO = Property.create("appointNo", Integer.class);
+    public static final Property<String> FIELD = Property.create("field", String.class);
 
     public void setAppointDate(Date appointDate) {
         writeProperty("appointDate", appointDate);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java
index afefdf4..2bfc434 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java
@@ -16,7 +16,7 @@ public abstract class _Child extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Master> MASTER = new Property<>("master");
+    public static final Property<Master> MASTER = Property.create("master", Master.class);
 
     public void setMaster(Master master) {
         setToOneTarget("master", master, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java
index d09eabb..387846c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java
@@ -18,8 +18,8 @@ public abstract class _Master extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<Child>> CHILDREN = new Property<>("children");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<Child>> CHILDREN = Property.create("children", 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/relationships_clob/auto/_ClobDetail.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java
index e044a13..59420b4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java
@@ -16,8 +16,8 @@ public abstract class _ClobDetail extends CayenneDataObject {
 
     public static final String CLOB_DETAIL_ID_PK_COLUMN = "CLOB_DETAIL_ID";
 
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<ClobMaster> MASTER = new Property<>("master");
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<ClobMaster> MASTER = Property.create("master", ClobMaster.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/relationships_clob/auto/_ClobMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java
index 3593963..da9527a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java
@@ -18,9 +18,9 @@ public abstract class _ClobMaster extends CayenneDataObject {
 
     public static final String CLOB_MASTER_ID_PK_COLUMN = "CLOB_MASTER_ID";
 
-    public static final Property<String> CLOB_COLUMN = new Property<>("clobColumn");
-    public static final Property<String> NAME = new Property<>("name");
-    public static final Property<List<ClobDetail>> DETAILS = new Property<>("details");
+    public static final Property<String> CLOB_COLUMN = Property.create("clobColumn", String.class);
+    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final Property<List<ClobDetail>> DETAILS = Property.create("details", List.class);
 
     public void setClobColumn(String clobColumn) {
         writeProperty("clobColumn", clobColumn);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java
index 02d8a75..4a3a328 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java
@@ -18,7 +18,7 @@ public abstract class _CollectionToMany extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Collection<CollectionToManyTarget>> TARGETS = new Property<>("targets");
+    public static final Property<Collection<CollectionToManyTarget>> TARGETS = Property.create("targets", Collection.class);
 
     public void addToTargets(CollectionToManyTarget obj) {
         addToManyTarget("targets", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java
index 21d0932..4bb3632 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java
@@ -16,7 +16,7 @@ public abstract class _CollectionToManyTarget extends CayenneDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<CollectionToMany> COLLECTION_TO_MANY = new Property<>("collectionToMany");
+    public static final Property<CollectionToMany> COLLECTION_TO_MANY = Property.create("collectionToMany", CollectionToMany.class);
 
     public void setCollectionToMany(CollectionToMany collectionToMany) {
         setToOneTarget("collectionToMany", collectionToMany, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java
index 6bfe499..76f1e74 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java
@@ -18,7 +18,7 @@ public abstract class _DeleteRuleFlatA extends CayenneDataObject {
 
     public static final String FLATA_ID_PK_COLUMN = "FLATA_ID";
 
-    public static final Property<List<DeleteRuleFlatB>> FLAT_B = new Property<>("flatB");
+    public static final Property<List<DeleteRuleFlatB>> FLAT_B = Property.create("flatB", List.class);
 
     public void addToFlatB(DeleteRuleFlatB obj) {
         addToManyTarget("flatB", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java
index da06854..2c1cc1b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java
@@ -18,7 +18,7 @@ public abstract class _DeleteRuleFlatB extends CayenneDataObject {
 
     public static final String FLATB_ID_PK_COLUMN = "FLATB_ID";
 
-    public static final Property<List<DeleteRuleFlatA>> UNTITLED_REL = new Property<>("untitledRel");
+    public static final Property<List<DeleteRuleFlatA>> UNTITLED_REL = Property.create("untitledRel", List.class);
 
     public void addToUntitledRel(DeleteRuleFlatA obj) {
         addToManyTarget("untitledRel", obj, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fd8234d3/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java
index 74234aa..e5cec94 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java
@@ -16,7 +16,7 @@ public abstract class _DeleteRuleTest1 extends CayenneDataObject {
 
     public static final String DEL_RULE_TEST1_ID_PK_COLUMN = "DEL_RULE_TEST1_ID";
 
-    public static final Property<DeleteRuleTest2> TEST2 = new Property<>("test2");
+    public static final Property<DeleteRuleTest2> TEST2 = Property.create("test2", DeleteRuleTest2.class);
 
     public void setTest2(DeleteRuleTest2 test2) {
         setToOneTarget("test2", test2, true);