cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ntimof...@apache.org
Subject [5/7] cayenne git commit: CAY-2467 New type-aware Property API - update test classes
Date Thu, 27 Dec 2018 14:37:50 GMT
http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 adf1f91..9e3757f 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
@@ -5,7 +5,11 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
 
 /**
@@ -18,10 +22,11 @@ public abstract class _MeaningfulPKDep extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> PK_ATTRIBUTE_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("PK_ATTRIBUTE"), Integer.class);
     public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
 
-    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 static final StringProperty<String> DESCR = PropertyFactory.createString("descr", String.class);
+    public static final EntityProperty<MeaningfulPKTest1> TO_MEANINGFUL_PK = PropertyFactory.createEntity("toMeaningfulPK", MeaningfulPKTest1.class);
 
     protected String descr;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 c4e3a82..d0f8e9f 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
@@ -6,7 +6,11 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
 
 /**
@@ -21,11 +25,11 @@ public abstract class _MeaningfulPKTest1 extends BaseDataObject {
 
     public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
 
-    public static final Property<String> DESCR = Property.create("descr", String.class);
-    public static final Property<Integer> INT_ATTRIBUTE = Property.create("intAttribute", Integer.class);
-    public static final Property<Integer> INT_NULLABLE_ATTRIBUTE = Property.create("intNullableAttribute", Integer.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 static final StringProperty<String> DESCR = PropertyFactory.createString("descr", String.class);
+    public static final NumericProperty<Integer> INT_ATTRIBUTE = PropertyFactory.createNumeric("intAttribute", Integer.class);
+    public static final NumericProperty<Integer> INT_NULLABLE_ATTRIBUTE = PropertyFactory.createNumeric("intNullableAttribute", Integer.class);
+    public static final NumericProperty<Integer> PK_ATTRIBUTE = PropertyFactory.createNumeric("pkAttribute", Integer.class);
+    public static final ListProperty<MeaningfulPKDep> MEANINGFUL_PKDEP_ARRAY = PropertyFactory.createList("meaningfulPKDepArray", MeaningfulPKDep.class);
 
     protected String descr;
     protected int intAttribute;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 a45487d..c131fc4 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
@@ -5,7 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 
 /**
  * Class _MeaningfulPk was generated by Cayenne.
@@ -19,7 +21,7 @@ public abstract class _MeaningfulPk extends BaseDataObject {
 
     public static final String PK_PK_COLUMN = "PK";
 
-    public static final Property<String> PK = Property.create("pk", String.class);
+    public static final StringProperty<String> PK = PropertyFactory.createString("pk", String.class);
 
     protected String pk;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPkTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPkTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPkTest2.java
index c0ab9d2..16281fb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPkTest2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPkTest2.java
@@ -5,7 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _MeaningfulPkTest2 was generated by Cayenne.
@@ -19,9 +21,9 @@ public abstract class _MeaningfulPkTest2 extends BaseDataObject {
 
     public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
 
-    public static final Property<Integer> INTEGER_ATTRIBUTE = Property.create("integerAttribute", Integer.class);
-    public static final Property<Integer> INTEGER_NULLABLE_ATTRIBUTE = Property.create("integerNullableAttribute", Integer.class);
-    public static final Property<Integer> PK_ATTRIBUTE = Property.create("pkAttribute", Integer.class);
+    public static final NumericProperty<Integer> INTEGER_ATTRIBUTE = PropertyFactory.createNumeric("integerAttribute", Integer.class);
+    public static final NumericProperty<Integer> INTEGER_NULLABLE_ATTRIBUTE = PropertyFactory.createNumeric("integerNullableAttribute", Integer.class);
+    public static final NumericProperty<Integer> PK_ATTRIBUTE = PropertyFactory.createNumeric("pkAttribute", Integer.class);
 
     protected Integer integerAttribute;
     protected Integer integerNullableAttribute;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 c1d0e9a..1dfbc97 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
@@ -5,7 +5,10 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _ArraysEntity was generated by Cayenne.
@@ -17,12 +20,13 @@ public abstract class _ArraysEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    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 static final BaseProperty<byte[]> BYTE_ARRAY = PropertyFactory.createBase("byteArray", byte[].class);
+    public static final BaseProperty<Byte[]> BYTE_WRAPPER_ARRAY = PropertyFactory.createBase("byteWrapperArray", Byte[].class);
+    public static final BaseProperty<char[]> CHAR_ARRAY = PropertyFactory.createBase("charArray", char[].class);
+    public static final BaseProperty<Character[]> CHAR_WRAPPER_ARRAY = PropertyFactory.createBase("charWrapperArray", Character[].class);
 
     protected byte[] byteArray;
     protected Byte[] byteWrapperArray;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 5add37c..4908cdd 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
@@ -5,7 +5,10 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _CharacterEntity was generated by Cayenne.
@@ -17,9 +20,10 @@ public abstract class _CharacterEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Character> CHARACTER_FIELD = Property.create("characterField", Character.class);
+    public static final BaseProperty<Character> CHARACTER_FIELD = PropertyFactory.createBase("characterField", Character.class);
 
     protected Character characterField;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 2d79de4..2648db8 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
@@ -6,7 +6,10 @@ import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
 import org.apache.cayenne.MockSerializable;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _SerializableEntity was generated by Cayenne.
@@ -18,9 +21,10 @@ public abstract class _SerializableEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<MockSerializable> SERIALIZABLE_FIELD = Property.create("serializableField", MockSerializable.class);
+    public static final BaseProperty<MockSerializable> SERIALIZABLE_FIELD = PropertyFactory.createBase("serializableField", MockSerializable.class);
 
     protected MockSerializable serializableField;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 b926c18..ac91453 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
@@ -6,7 +6,11 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2;
 
 /**
@@ -19,11 +23,12 @@ public abstract class _MixedPersistenceStrategy extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    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 static final StringProperty<String> DESCRIPTION = PropertyFactory.createString("description", String.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final ListProperty<MixedPersistenceStrategy2> DETAILS = PropertyFactory.createList("details", MixedPersistenceStrategy2.class);
 
     protected String description;
     protected String name;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 81f24bc..e295606 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
@@ -5,7 +5,11 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy;
 
 /**
@@ -18,10 +22,11 @@ public abstract class _MixedPersistenceStrategy2 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = Property.create("name", String.class);
-    public static final Property<MixedPersistenceStrategy> MASTER = Property.create("master", MixedPersistenceStrategy.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final EntityProperty<MixedPersistenceStrategy> MASTER = PropertyFactory.createEntity("master", MixedPersistenceStrategy.class);
 
     protected String name;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 1c2730b..37f90e6 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
@@ -6,7 +6,11 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.mt.MtTable2;
 
 /**
@@ -19,11 +23,12 @@ public abstract class _MtTable1 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> TABLE1_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("TABLE1_ID"), Integer.class);
     public static final String TABLE1_ID_PK_COLUMN = "TABLE1_ID";
 
-    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 static final StringProperty<String> GLOBAL_ATTRIBUTE1 = PropertyFactory.createString("globalAttribute1", String.class);
+    public static final StringProperty<String> SERVER_ATTRIBUTE1 = PropertyFactory.createString("serverAttribute1", String.class);
+    public static final ListProperty<MtTable2> TABLE2ARRAY = PropertyFactory.createList("table2Array", MtTable2.class);
 
     protected String globalAttribute1;
     protected String serverAttribute1;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 a57126b..fac3f4e 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
@@ -4,7 +4,10 @@ import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.mt.MtTable1;
 
 /**
@@ -17,9 +20,10 @@ public abstract class _MtTable1Subclass1 extends MtTable1 {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> TABLE1_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("TABLE1_ID"), Integer.class);
     public static final String TABLE1_ID_PK_COLUMN = "TABLE1_ID";
 
-    public static final Property<String> SUBCLASS1ATTRIBUTE1 = Property.create("subclass1Attribute1", String.class);
+    public static final StringProperty<String> SUBCLASS1ATTRIBUTE1 = PropertyFactory.createString("subclass1Attribute1", String.class);
 
     protected String subclass1Attribute1;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 2e6b4ec..ff30342 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
@@ -4,7 +4,10 @@ import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.mt.MtTable1;
 
 /**
@@ -17,9 +20,10 @@ public abstract class _MtTable1Subclass2 extends MtTable1 {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> TABLE1_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("TABLE1_ID"), Integer.class);
     public static final String TABLE1_ID_PK_COLUMN = "TABLE1_ID";
 
-    public static final Property<String> SUBCLASS2ATTRIBUTE1 = Property.create("subclass2Attribute1", String.class);
+    public static final StringProperty<String> SUBCLASS2ATTRIBUTE1 = PropertyFactory.createString("subclass2Attribute1", String.class);
 
     protected String subclass2Attribute1;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 8701e8e..0e65cbc 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
@@ -5,7 +5,11 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.testdo.mt.MtTable3;
 
@@ -19,11 +23,12 @@ public abstract class _MtTable2 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> TABLE2_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("TABLE2_ID"), Integer.class);
     public static final String TABLE2_ID_PK_COLUMN = "TABLE2_ID";
 
-    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 static final StringProperty<String> GLOBAL_ATTRIBUTE = PropertyFactory.createString("globalAttribute", String.class);
+    public static final EntityProperty<MtTable1> TABLE1 = PropertyFactory.createEntity("table1", MtTable1.class);
+    public static final EntityProperty<MtTable3> TABLE3 = PropertyFactory.createEntity("table3", MtTable3.class);
 
     protected String globalAttribute;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 55269fe..6a4efc3 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
@@ -6,7 +6,12 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.mt.MtTable2;
 
 /**
@@ -19,12 +24,13 @@ public abstract class _MtTable3 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> TABLE3_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("TABLE3_ID"), Integer.class);
     public static final String TABLE3_ID_PK_COLUMN = "TABLE3_ID";
 
-    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 static final BaseProperty<byte[]> BINARY_COLUMN = PropertyFactory.createBase("binaryColumn", byte[].class);
+    public static final StringProperty<String> CHAR_COLUMN = PropertyFactory.createString("charColumn", String.class);
+    public static final NumericProperty<Integer> INT_COLUMN = PropertyFactory.createNumeric("intColumn", Integer.class);
+    public static final ListProperty<MtTable2> TABLE2ARRAY = PropertyFactory.createList("table2Array", MtTable2.class);
 
     protected byte[] binaryColumn;
     protected String charColumn;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 b7ed587..104f664 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
@@ -6,7 +6,10 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.testdo.mt.MtTable5;
 
 /**
@@ -19,9 +22,10 @@ public abstract class _MtTable4 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<MtTable5>> TABLE5S = Property.create("table5s", List.class);
+    public static final ListProperty<MtTable5> TABLE5S = PropertyFactory.createList("table5s", MtTable5.class);
 
 
     protected Object table5s;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 cb4489f..28f4f84 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
@@ -6,7 +6,10 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.testdo.mt.MtTable4;
 
 /**
@@ -19,9 +22,10 @@ public abstract class _MtTable5 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<MtTable4>> TABLE4S = Property.create("table4s", List.class);
+    public static final ListProperty<MtTable4> TABLE4S = PropertyFactory.createList("table4s", MtTable4.class);
 
 
     protected Object table4s;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 aa29094..d53448a 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
@@ -5,7 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _NoPkTestEntity was generated by Cayenne.
@@ -18,7 +20,7 @@ public abstract class _NoPkTestEntity extends BaseDataObject {
     private static final long serialVersionUID = 1L; 
 
 
-    public static final Property<Integer> ATTRIBUTE1 = Property.create("attribute1", Integer.class);
+    public static final NumericProperty<Integer> ATTRIBUTE1 = PropertyFactory.createNumeric("attribute1", Integer.class);
 
     protected Integer attribute1;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 536bd2e..8dbe3a7 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
@@ -6,7 +6,9 @@ import java.io.ObjectOutputStream;
 import java.math.BigDecimal;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _BigDecimalEntity was generated by Cayenne.
@@ -18,9 +20,10 @@ public abstract class _BigDecimalEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<BigDecimal> BIG_DECIMAL_FIELD = Property.create("bigDecimalField", BigDecimal.class);
+    public static final NumericProperty<BigDecimal> BIG_DECIMAL_FIELD = PropertyFactory.createNumeric("bigDecimalField", BigDecimal.class);
 
     protected BigDecimal bigDecimalField;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 769b942..fb2d3b7 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
@@ -6,7 +6,9 @@ import java.io.ObjectOutputStream;
 import java.math.BigInteger;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _BigIntegerEntity was generated by Cayenne.
@@ -18,9 +20,10 @@ public abstract class _BigIntegerEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<BigInteger> BIG_INTEGER_FIELD = Property.create("bigIntegerField", BigInteger.class);
+    public static final NumericProperty<BigInteger> BIG_INTEGER_FIELD = PropertyFactory.createNumeric("bigIntegerField", BigInteger.class);
 
     protected BigInteger bigIntegerField;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 4185508..4e8ab84 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
@@ -5,7 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _BitNumberTestEntity was generated by Cayenne.
@@ -17,9 +19,10 @@ public abstract class _BitNumberTestEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Integer> BIT_COLUMN = Property.create("bitColumn", Integer.class);
+    public static final NumericProperty<Integer> BIT_COLUMN = PropertyFactory.createNumeric("bitColumn", Integer.class);
 
     protected Integer bitColumn;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 2b251c9..588c136 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
@@ -5,7 +5,10 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _BitTestEntity was generated by Cayenne.
@@ -17,9 +20,10 @@ public abstract class _BitTestEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Boolean> BIT_COLUMN = Property.create("bitColumn", Boolean.class);
+    public static final BaseProperty<Boolean> BIT_COLUMN = PropertyFactory.createBase("bitColumn", Boolean.class);
 
     protected Boolean bitColumn;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 d05f701..f2bc004 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
@@ -5,7 +5,10 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _BooleanTestEntity was generated by Cayenne.
@@ -17,9 +20,10 @@ public abstract class _BooleanTestEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Boolean> BOOLEAN_COLUMN = Property.create("booleanColumn", Boolean.class);
+    public static final BaseProperty<Boolean> BOOLEAN_COLUMN = PropertyFactory.createBase("booleanColumn", Boolean.class);
 
     protected Boolean booleanColumn;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 ceaac63..cdb2c1c 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
@@ -3,9 +3,13 @@ package org.apache.cayenne.testdo.numeric_types.auto;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
+import java.math.BigDecimal;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 
 /**
  * Class _DecimalPKTest1 was generated by Cayenne.
@@ -19,8 +23,8 @@ public abstract class _DecimalPKTest1 extends BaseDataObject {
 
     public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
 
-    public static final Property<Double> DECIMAL_PK = Property.create("decimalPK", Double.class);
-    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final NumericProperty<Double> DECIMAL_PK = PropertyFactory.createNumeric("decimalPK", Double.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
 
     protected Double decimalPK;
     protected String name;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 8122f65..9f12719 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
@@ -6,7 +6,10 @@ import java.io.ObjectOutputStream;
 import java.math.BigDecimal;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 
 /**
  * Class _DecimalPKTestEntity was generated by Cayenne.
@@ -20,8 +23,8 @@ public abstract class _DecimalPKTestEntity extends BaseDataObject {
 
     public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
 
-    public static final Property<BigDecimal> DECIMAL_PK = Property.create("decimalPK", BigDecimal.class);
-    public static final Property<String> NAME = Property.create("name", String.class);
+    public static final NumericProperty<BigDecimal> DECIMAL_PK = PropertyFactory.createNumeric("decimalPK", BigDecimal.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
 
     protected BigDecimal decimalPK;
     protected String name;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 c0ff27b..fbc9a6c 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
@@ -5,7 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _LongEntity was generated by Cayenne.
@@ -17,9 +19,10 @@ public abstract class _LongEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Long> LONG_FIELD = Property.create("longField", Long.class);
+    public static final NumericProperty<Long> LONG_FIELD = PropertyFactory.createNumeric("longField", Long.class);
 
     protected Long longField;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 ec80ca5..5c1edf8 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
@@ -5,7 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _SmallintTestEntity was generated by Cayenne.
@@ -17,9 +19,10 @@ public abstract class _SmallintTestEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Short> SMALLINT_COL = Property.create("smallintCol", Short.class);
+    public static final NumericProperty<Short> SMALLINT_COL = PropertyFactory.createNumeric("smallintCol", Short.class);
 
     protected Short smallintCol;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 1914136..4051477 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
@@ -5,7 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _TinyintTestEntity was generated by Cayenne.
@@ -17,9 +19,10 @@ public abstract class _TinyintTestEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<Byte> TINYINT_COL = Property.create("tinyintCol", Byte.class);
+    public static final NumericProperty<Byte> TINYINT_COL = PropertyFactory.createNumeric("tinyintCol", Byte.class);
 
     protected Byte tinyintCol;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable1.java
index 2a503dd..450ec72 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable1.java
@@ -5,6 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _OnewayTable1 was generated by Cayenne.
@@ -16,6 +19,7 @@ public abstract class _OnewayTable1 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 5880e83..be29b82 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
@@ -5,7 +5,10 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.testdo.oneway.OnewayTable1;
 
 /**
@@ -20,8 +23,8 @@ public abstract class _OnewayTable2 extends BaseDataObject {
 
     public static final String ID_PK_COLUMN = "ID";
 
-    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 static final NumericProperty<Integer> ID = PropertyFactory.createNumeric("id", Integer.class);
+    public static final EntityProperty<OnewayTable1> TO_ONE_ONE_WAY_DB = PropertyFactory.createEntity("toOneOneWayDb", OnewayTable1.class);
 
     protected Integer id;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 690ce04..29b01af 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
@@ -6,7 +6,10 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.testdo.oneway.OnewayTable4;
 
 /**
@@ -19,9 +22,10 @@ public abstract class _OnewayTable3 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<List<OnewayTable4>> TO_MANY_ONE_WAY_DB = Property.create("toManyOneWayDb", List.class);
+    public static final ListProperty<OnewayTable4> TO_MANY_ONE_WAY_DB = PropertyFactory.createList("toManyOneWayDb", OnewayTable4.class);
 
 
     protected Object toManyOneWayDb;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable4.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable4.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable4.java
index 388cbdf..60b7eff 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable4.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/oneway/auto/_OnewayTable4.java
@@ -5,6 +5,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 
 /**
  * Class _OnewayTable4 was generated by Cayenne.
@@ -16,6 +19,7 @@ public abstract class _OnewayTable4 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
index 05188ae..764cfd1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
@@ -5,6 +5,7 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
+import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.exp.property.BaseProperty;
 import org.apache.cayenne.exp.property.NumericProperty;
 import org.apache.cayenne.exp.property.PropertyFactory;
@@ -19,6 +20,7 @@ public abstract class _PrimitivesTestEntity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
     public static final BaseProperty<Boolean> BOOLEAN_COLUMN = PropertyFactory.createBase("booleanColumn", Boolean.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 0ac76c6..184d18e 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
@@ -6,7 +6,12 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.qualified.Qualified2;
 
 /**
@@ -19,11 +24,12 @@ public abstract class _Qualified1 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    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 static final BaseProperty<Boolean> DELETED = PropertyFactory.createBase("deleted", Boolean.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final ListProperty<Qualified2> QUALIFIED2S = PropertyFactory.createList("qualified2s", Qualified2.class);
 
     protected Boolean deleted;
     protected String name;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 77b772d..c583515 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
@@ -5,7 +5,12 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.BaseProperty;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.qualified.Qualified1;
 
 /**
@@ -18,11 +23,12 @@ public abstract class _Qualified2 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    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 static final BaseProperty<Boolean> DELETED = PropertyFactory.createBase("deleted", Boolean.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final EntityProperty<Qualified1> QUALIFIED1 = PropertyFactory.createEntity("qualified1", Qualified1.class);
 
     protected Boolean deleted;
     protected String name;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified3.java
index 4a91a9f..1d2ddc6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified3.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified3.java
@@ -6,7 +6,11 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.qualified.Qualified4;
 
 /**
@@ -19,10 +23,11 @@ public abstract class _Qualified3 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = Property.create("name", String.class);
-    public static final Property<List<Qualified4>> QUALIFIED4S = Property.create("qualified4s", List.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final ListProperty<Qualified4> QUALIFIED4S = PropertyFactory.createList("qualified4s", Qualified4.class);
 
     protected String name;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified4.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified4.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified4.java
index 1c42281..4001bd8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified4.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/qualified/auto/_Qualified4.java
@@ -5,7 +5,11 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.qualified.Qualified3;
 
 /**
@@ -18,10 +22,11 @@ public abstract class _Qualified4 extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<String> NAME = Property.create("name", String.class);
-    public static final Property<Qualified3> QUALIFIED3 = Property.create("qualified3", Qualified3.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final EntityProperty<Qualified3> QUALIFIED3 = PropertyFactory.createEntity("qualified3", Qualified3.class);
 
     protected String name;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 2ee2364..4ea1606 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
@@ -5,7 +5,11 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.quotemap.Quote_Person;
 
 /**
@@ -18,11 +22,12 @@ public abstract class _QuoteAdress extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ADDRESS_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ADDRESS ID"), Integer.class);
     public static final String ADDRESS_ID_PK_COLUMN = "ADDRESS ID";
 
-    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 static final StringProperty<String> CITY = PropertyFactory.createString("city", String.class);
+    public static final StringProperty<String> GROUP = PropertyFactory.createString("group", String.class);
+    public static final EntityProperty<Quote_Person> PERSON_REL = PropertyFactory.createEntity("person_Rel", Quote_Person.class);
 
     protected String city;
     protected String group;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 3fe42e0..f6842e3 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
@@ -6,7 +6,12 @@ import java.io.ObjectOutputStream;
 import java.util.Date;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.DateProperty;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.quotemap.QuoteAdress;
 
 /**
@@ -19,14 +24,15 @@ public abstract class _Quote_Person extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("id"), Integer.class);
     public static final String ID_PK_COLUMN = "id";
 
-    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 static final DateProperty<Date> D_ATE = PropertyFactory.createDate("dAte", Date.class);
+    public static final StringProperty<String> F_ULL_NAME = PropertyFactory.createString("fULL_name", String.class);
+    public static final StringProperty<String> GROUP = PropertyFactory.createString("group", String.class);
+    public static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final NumericProperty<Integer> SALARY = PropertyFactory.createNumeric("salary", Integer.class);
+    public static final EntityProperty<QuoteAdress> ADDRESS_REL = PropertyFactory.createEntity("address_Rel", QuoteAdress.class);
 
     protected Date dAte;
     protected String fULL_name;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 81a85a0..a1f7972 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
@@ -6,7 +6,12 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.reflexive.Reflexive;
 
 /**
@@ -19,11 +24,12 @@ public abstract class _Reflexive extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    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 static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final ListProperty<Reflexive> CHILDREN = PropertyFactory.createList("children", Reflexive.class);
+    public static final EntityProperty<Reflexive> TO_PARENT = PropertyFactory.createEntity("toParent", Reflexive.class);
 
     protected String name;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 a7a7ebf..e0a82da 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
@@ -5,7 +5,10 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.testdo.relationships.RelationshipHelper;
 
 /**
@@ -18,9 +21,10 @@ public abstract class _FkOfDifferentType extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("ID"), Integer.class);
     public static final String ID_PK_COLUMN = "ID";
 
-    public static final Property<RelationshipHelper> RELATIONSHIP_HELPER = Property.create("relationshipHelper", RelationshipHelper.class);
+    public static final EntityProperty<RelationshipHelper> RELATIONSHIP_HELPER = PropertyFactory.createEntity("relationshipHelper", RelationshipHelper.class);
 
 
     protected Object relationshipHelper;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 a14eece..9cdf064 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
@@ -5,7 +5,10 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.testdo.relationships.RelationshipHelper;
 
 /**
@@ -18,10 +21,11 @@ public abstract class _MeaningfulFK extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> MEANIGNFUL_FK_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("MEANIGNFUL_FK_ID"), Integer.class);
     public static final String MEANIGNFUL_FK_ID_PK_COLUMN = "MEANIGNFUL_FK_ID";
 
-    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 static final NumericProperty<Integer> RELATIONSHIP_HELPER_ID = PropertyFactory.createNumeric("relationshipHelperID", Integer.class);
+    public static final EntityProperty<RelationshipHelper> TO_RELATIONSHIP_HELPER = PropertyFactory.createEntity("toRelationshipHelper", RelationshipHelper.class);
 
     protected Integer relationshipHelperID;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 750527f..9f15c34 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
@@ -6,7 +6,12 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.EntityProperty;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
 import org.apache.cayenne.testdo.relationships.RelationshipHelper;
 
@@ -20,12 +25,13 @@ public abstract class _ReflexiveAndToOne extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> REFLEXIVE_AND_TO_ONE_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("REFLEXIVE_AND_TO_ONE_ID"), Integer.class);
     public static final String REFLEXIVE_AND_TO_ONE_ID_PK_COLUMN = "REFLEXIVE_AND_TO_ONE_ID";
 
-    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 static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final ListProperty<ReflexiveAndToOne> CHILDREN = PropertyFactory.createList("children", ReflexiveAndToOne.class);
+    public static final EntityProperty<RelationshipHelper> TO_HELPER = PropertyFactory.createEntity("toHelper", RelationshipHelper.class);
+    public static final EntityProperty<ReflexiveAndToOne> TO_PARENT = PropertyFactory.createEntity("toParent", ReflexiveAndToOne.class);
 
     protected String name;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 2e2d51c..3d4bd8c 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
@@ -6,7 +6,11 @@ import java.io.ObjectOutputStream;
 import java.util.List;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.ListProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.relationships.FkOfDifferentType;
 import org.apache.cayenne.testdo.relationships.MeaningfulFK;
 import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
@@ -21,12 +25,13 @@ public abstract class _RelationshipHelper extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final NumericProperty<Integer> RELATIONSHIP_HELPER_ID_PK_PROPERTY = PropertyFactory.createNumeric(ExpressionFactory.dbPathExp("RELATIONSHIP_HELPER_ID"), Integer.class);
     public static final String RELATIONSHIP_HELPER_ID_PK_COLUMN = "RELATIONSHIP_HELPER_ID";
 
-    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 static final StringProperty<String> NAME = PropertyFactory.createString("name", String.class);
+    public static final ListProperty<FkOfDifferentType> FKS_OF_DIFFERENT_TYPE = PropertyFactory.createList("fksOfDifferentType", FkOfDifferentType.class);
+    public static final ListProperty<MeaningfulFK> MEANIGFUL_FKS = PropertyFactory.createList("meanigfulFKs", MeaningfulFK.class);
+    public static final ListProperty<ReflexiveAndToOne> REFLEXIVE_AND_TO_ONE_ARRAY = PropertyFactory.createList("reflexiveAndToOneArray", ReflexiveAndToOne.class);
 
     protected String name;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 da9ad3f..b85e880 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
@@ -7,7 +7,12 @@ import java.sql.Date;
 import java.util.Map;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.exp.property.DateProperty;
+import org.apache.cayenne.exp.property.MapProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 import org.apache.cayenne.testdo.relationships_activity.ActivityResult;
 
 /**
@@ -20,11 +25,12 @@ public abstract class _Activity extends BaseDataObject {
 
     private static final long serialVersionUID = 1L; 
 
+    public static final StringProperty<String> ACTIVITY_ID_PK_PROPERTY = PropertyFactory.createString(ExpressionFactory.dbPathExp("ACTIVITY_ID"), String.class);
     public static final String ACTIVITY_ID_PK_COLUMN = "ACTIVITY_ID";
 
-    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 static final DateProperty<Date> APPOINTMENT_DATE = PropertyFactory.createDate("appointmentDate", Date.class);
+    public static final NumericProperty<Integer> APPOINTMENT_NO = PropertyFactory.createNumeric("appointmentNo", Integer.class);
+    public static final MapProperty<String, ActivityResult> RESULTS = PropertyFactory.createMap("results", String.class, ActivityResult.class);
 
     protected Date appointmentDate;
     protected int appointmentNo;
@@ -93,7 +99,7 @@ public abstract class _Activity extends BaseDataObject {
                 this.appointmentDate = (Date)val;
                 break;
             case "appointmentNo":
-                this.appointmentNo = val == null ? 0 : (Integer)val;
+                this.appointmentNo = val == null ? 0 : (int)val;
                 break;
             case "results":
                 this.results = val;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/56b64c35/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 cd5fb62..de8ebbb 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
@@ -6,7 +6,10 @@ import java.io.ObjectOutputStream;
 import java.sql.Date;
 
 import org.apache.cayenne.BaseDataObject;
-import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.exp.property.DateProperty;
+import org.apache.cayenne.exp.property.NumericProperty;
+import org.apache.cayenne.exp.property.PropertyFactory;
+import org.apache.cayenne.exp.property.StringProperty;
 
 /**
  * Class _ActivityResult was generated by Cayenne.
@@ -22,9 +25,9 @@ public abstract class _ActivityResult extends BaseDataObject {
     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 = 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 static final DateProperty<Date> APPOINT_DATE = PropertyFactory.createDate("appointDate", Date.class);
+    public static final NumericProperty<Integer> APPOINT_NO = PropertyFactory.createNumeric("appointNo", Integer.class);
+    public static final StringProperty<String> FIELD = PropertyFactory.createString("field", String.class);
 
     protected Date appointDate;
     protected int appointNo;
@@ -90,7 +93,7 @@ public abstract class _ActivityResult extends BaseDataObject {
                 this.appointDate = (Date)val;
                 break;
             case "appointNo":
-                this.appointNo = val == null ? 0 : (Integer)val;
+                this.appointNo = val == null ? 0 : (int)val;
                 break;
             case "field":
                 this.field = (String)val;


Mime
View raw message