This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 2944693c130cbf36c27a331cc368e187149022a7
Author: Nikita Timofeev <stari...@gmail.com>
AuthorDate: Fri Feb 23 13:59:27 2024 +0400

    CAY-2845 Deprecate DataObject in favour of Persistent
     - fix JavaDocs and main documentation
     - fix naming and messages
---
 .../java/org/apache/cayenne/gen/ImportUtils.java   |   2 +-
 .../org/apache/cayenne/commitlog/CommitLog.java    |   2 +-
 .../project/validation/NameValidationHelper.java   |   6 +-
 .../org/apache/cayenne/velocity/BindDirective.java |   4 +-
 .../src/main/java/org/apache/cayenne/Cayenne.java  |  56 ++++----
 .../src/main/java/org/apache/cayenne/DataRow.java  |   4 +-
 .../java/org/apache/cayenne/EmbeddableObject.java  |   2 +-
 .../org/apache/cayenne/HybridPersistentObject.java |   4 +-
 .../main/java/org/apache/cayenne/Persistent.java   |   4 +-
 .../java/org/apache/cayenne/PersistentObject.java  |  27 ++--
 .../org/apache/cayenne/access/DataContext.java     |  22 +--
 .../apache/cayenne/access/DataContextDelegate.java |   2 +-
 .../org/apache/cayenne/access/DataDomainQuery.java |   2 +-
 .../cayenne/access/HierarchicalObjectResolver.java |   2 +-
 .../cayenne/access/IncrementalFaultList.java       |  18 +--
 .../org/apache/cayenne/access/ObjectStore.java     |   8 +-
 .../java/org/apache/cayenne/access/ToManyList.java |  16 +--
 .../java/org/apache/cayenne/access/ToManyMap.java  |   8 +-
 .../java/org/apache/cayenne/access/ToManySet.java  |  16 +--
 .../java/org/apache/cayenne/access/ToOneFault.java |   2 +-
 .../cayenne/access/flush/PostprocessVisitor.java   |   6 +-
 .../cayenne/access/jdbc/LimitResultIterator.java   |   1 -
 .../cayenne/ashwood/AshwoodEntitySorter.java       |   2 +-
 .../org/apache/cayenne/exp/parser/ASTObjPath.java  |   4 +-
 .../org/apache/cayenne/graph/ChildDiffLoader.java  |   8 +-
 .../main/java/org/apache/cayenne/map/DataMap.java  |   2 +-
 .../java/org/apache/cayenne/map/ObjEntity.java     |  14 +-
 .../org/apache/cayenne/query/DeleteBatchQuery.java |   4 +-
 .../org/apache/cayenne/query/InsertBatchQuery.java |   2 +-
 .../java/org/apache/cayenne/query/Ordering.java    |   2 +-
 .../org/apache/cayenne/query/QueryMetadata.java    |   2 +-
 .../java/org/apache/cayenne/query/SQLSelect.java   |   2 +-
 .../java/org/apache/cayenne/reflect/Accessor.java  |   2 +-
 .../apache/cayenne/reflect/BaseToManyProperty.java |   4 +-
 .../apache/cayenne/reflect/BaseToOneProperty.java  |   2 +-
 .../reflect/generic/PersistentObjectAccessor.java  |  16 +--
 .../generic/PersistentObjectBaseProperty.java      |  22 +--
 .../generic/PersistentObjectToManyProperty.java    |   8 +-
 .../generic/PersistentObjectToOneProperty.java     |   6 +-
 .../apache/cayenne/util/PersistentObjectList.java  |   4 +-
 .../apache/cayenne/util/PersistentObjectSet.java   |   4 +-
 .../apache/cayenne/util/ShallowMergeOperation.java |   2 +-
 ... => CayennePersistentObjectFlattenedRelIT.java} |   2 +-
 ...bjectIT.java => CayennePersistentObjectIT.java} |   2 +-
 ...ava => CayennePersistentObjectInContextIT.java} |   2 +-
 ...ava => CayennePersistentObjectReflexiveIT.java} |   2 +-
 ...=> CayennePersistentObjectRelationshipsIT.java} |   2 +-
 ...ennePersistentObjectSetToManyCollectionIT.java} |   2 +-
 ...=> CayennePersistentObjectSetToManyListIT.java} |   2 +-
 ... => CayennePersistentObjectSetToManyMapIT.java} |   2 +-
 ... => CayennePersistentObjectSetToManySetIT.java} |   2 +-
 ...va => CayennePersistentObjectValidationIT.java} |   2 +-
 .../java/org/apache/cayenne/MockDataObject.java    | 148 ---------------------
 .../org/apache/cayenne/MockPersistentObject.java   |   3 +-
 .../org/apache/cayenne/access/ObjectStoreIT.java   |   8 +-
 .../asciidoc/_cayenne-guide/part2/expressions.adoc |   2 +-
 .../asciidoc/_cayenne-guide/part2/lifecycle.adoc   |   4 +-
 .../_cayenne-guide/part2/objectContext.adoc        |  10 +-
 .../_cayenne-guide/part2/queries/ejbql.adoc        |   4 +-
 .../_getting-started-guide/persistent-objects.adoc |   4 +-
 .../dialog/datamap/SuperclassUpdateController.java |   2 +-
 .../modeler/editor/RawQueryPropertiesPanel.java    |   4 +-
 .../cayenne/tutorial/persistent/auto/_Artist.java  |   4 +-
 .../cayenne/tutorial/persistent/auto/_Gallery.java |   4 +-
 .../tutorial/persistent/auto/_Painting.java        |   4 +-
 65 files changed, 198 insertions(+), 349 deletions(-)

diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ImportUtils.java 
b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ImportUtils.java
index 9ade5d1ac..938b1fc15 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ImportUtils.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ImportUtils.java
@@ -100,7 +100,7 @@ public class ImportUtils {
 
        /**
         * Register a fully-qualified data type class name. For example,
-        * org.apache.cayenne.CayenneDataObject.
+        * org.apache.cayenne.GenericPersistentObject.
         * 
         * @param typeName
         *            FQ data type class name.
diff --git 
a/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLog.java 
b/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLog.java
index e02e65a0a..b42f32329 100644
--- 
a/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLog.java
+++ 
b/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLog.java
@@ -27,7 +27,7 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 /**
- * An annotation that adds commit log behavior to DataObjects.
+ * An annotation that adds commit log behavior to Persistent objects.
  *
  * @since 4.0
  */
diff --git 
a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/NameValidationHelper.java
 
b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/NameValidationHelper.java
index 5ba3c84d1..03c1d521e 100644
--- 
a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/NameValidationHelper.java
+++ 
b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/NameValidationHelper.java
@@ -87,7 +87,7 @@ public class NameValidationHelper {
     }
 
     // a property is considered invalid if there is a getter or a setter for 
it in
-    // java.lang.Object or CayenneDataObject
+    // java.lang.Object or PersistentObject
     static final Collection<String> INVALID_JAVA_PROPERTIES = Arrays.asList(
             "class",
             "committedSnapshot",
@@ -180,9 +180,9 @@ public class NameValidationHelper {
     }
 
     /**
-     * Returns whether a given String is a valid DataObject property. A 
property is
+     * Returns whether a given String is a valid Persistent property. A 
property is
      * considered invalid if there is a getter or a setter for it in 
java.lang.Object or
-     * CayenneDataObject.
+     * PersistentObject.
      */
     public boolean invalidDataObjectProperty(String dataObjectProperty) {
         return dataObjectProperty == null
diff --git 
a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/BindDirective.java 
b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/BindDirective.java
index 0ac7ee906..2f5bc3d26 100644
--- 
a/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/BindDirective.java
+++ 
b/cayenne-velocity/src/main/java/org/apache/cayenne/velocity/BindDirective.java
@@ -55,13 +55,13 @@ import org.apache.velocity.runtime.parser.node.Node;
  * "xyz" parameter in the context "bindings" collection.
  * </p>
  * <p>
- * <strong>Binding ID column of a DataObject value:</strong>
+ * <strong>Binding ID column of a Persistent value:</strong>
  * </p>
  * <p>
  * <code>"WHERE ID_COL1 = #bind($helper.cayenneExp($xyz, 'db:ID_COL2')) 
  * AND ID_COL2 = #bind($helper.cayenneExp($xyz, 'db:ID_COL2'))"</code> produces
  * <code>"WHERE ID_COL1 = ? AND ID_COL2 = ?"</code> and also places the values
- * of id columns of the DataObject parameter "xyz" in the context "bindings"
+ * of id columns of the Persistent parameter "xyz" in the context "bindings"
  * collection.
  * </p>
  * 
diff --git a/cayenne/src/main/java/org/apache/cayenne/Cayenne.java 
b/cayenne/src/main/java/org/apache/cayenne/Cayenne.java
index a648193ea..95e05f4c0 100644
--- a/cayenne/src/main/java/org/apache/cayenne/Cayenne.java
+++ b/cayenne/src/main/java/org/apache/cayenne/Cayenne.java
@@ -37,7 +37,7 @@ import java.util.Map;
 /**
  * Various utils for processing persistent objects and their properties
  * <p>
- * <i>DataObjects and Primary Keys: All methods that allow to extract primary
+ * <i>PersistentObjects and Primary Keys: All methods that allow to extract 
primary
  * key values or use primary keys to find objects are provided for convenience.
  * Still the author's belief is that integer sequential primary keys are
  * meaningless in the object model and are pure database artifacts. Therefore
@@ -261,11 +261,11 @@ public class Cayenne {
      * single column numeric primary keys. If an object is transient or has an
      * ObjectId that can not be converted to an int PK, an exception is thrown.
      */
-    public static long longPKForObject(Persistent dataObject) {
-        Object value = pkForObject(dataObject);
+    public static long longPKForObject(Persistent object) {
+        Object value = pkForObject(object);
 
         if (!(value instanceof Number)) {
-            throw new CayenneRuntimeException("PK is not a number: %s", 
dataObject.getObjectId());
+            throw new CayenneRuntimeException("PK is not a number: %s", 
object.getObjectId());
         }
 
         return ((Number) value).longValue();
@@ -276,11 +276,11 @@ public class Cayenne {
      * single column numeric primary keys. If an object is transient or has an
      * ObjectId that can not be converted to an int PK, an exception is thrown.
      */
-    public static int intPKForObject(Persistent dataObject) {
-        Object value = pkForObject(dataObject);
+    public static int intPKForObject(Persistent object) {
+        Object value = pkForObject(object);
 
         if (!(value instanceof Number)) {
-            throw new CayenneRuntimeException("PK is not a number: %s", 
dataObject.getObjectId());
+            throw new CayenneRuntimeException("PK is not a number: %s", 
object.getObjectId());
         }
 
         return ((Number) value).intValue();
@@ -291,8 +291,8 @@ public class Cayenne {
      * single column primary keys. If an object is transient or has a compound
      * ObjectId, an exception is thrown.
      */
-    public static Object pkForObject(Persistent dataObject) {
-        Map<String, Object> pk = extractObjectId(dataObject);
+    public static Object pkForObject(Persistent object) {
+        Map<String, Object> pk = extractObjectId(object);
 
         if (pk.size() != 1) {
             throw new CayenneRuntimeException("Expected single column PK, got 
%d columns, ID: %s", pk.size(), pk);
@@ -307,23 +307,23 @@ public class Cayenne {
      * for all possible types of primary keys. If an object is transient, an
      * exception is thrown.
      */
-    public static Map<String, Object> compoundPKForObject(Persistent 
dataObject) {
-        return Collections.unmodifiableMap(extractObjectId(dataObject));
+    public static Map<String, Object> compoundPKForObject(Persistent object) {
+        return Collections.unmodifiableMap(extractObjectId(object));
     }
 
-    static Map<String, Object> extractObjectId(Persistent dataObject) {
-        if (dataObject == null) {
-            throw new IllegalArgumentException("Null DataObject");
+    static Map<String, Object> extractObjectId(Persistent object) {
+        if (object == null) {
+            throw new IllegalArgumentException("Null Persistent object");
         }
 
-        ObjectId id = dataObject.getObjectId();
+        ObjectId id = object.getObjectId();
         if (!id.isTemporary()) {
             return id.getIdSnapshot();
         }
 
         // replacement ID is more tricky... do some sanity check...
         if (id.isReplacementIdAttached()) {
-            ObjEntity objEntity = 
dataObject.getObjectContext().getEntityResolver().getObjEntity(dataObject);
+            ObjEntity objEntity = 
object.getObjectContext().getEntityResolver().getObjEntity(object);
 
             if (objEntity != null) {
                 DbEntity entity = objEntity.getDbEntity();
@@ -348,8 +348,8 @@ public class Cayenne {
      * @see #objectForPK(ObjectContext, ObjectId)
      */
     @SuppressWarnings("unchecked")
-       public static <T> T objectForPK(ObjectContext context, Class<T> 
dataObjectClass, int pk) {
-        return (T) objectForPK(context, buildId(context, dataObjectClass, pk));
+       public static <T> T objectForPK(ObjectContext context, Class<T> 
persistentObjectClass, int pk) {
+        return (T) objectForPK(context, buildId(context, 
persistentObjectClass, pk));
     }
 
     /**
@@ -364,8 +364,8 @@ public class Cayenne {
      * @see #objectForPK(ObjectContext, ObjectId)
      */
     @SuppressWarnings("unchecked")
-       public static <T> T objectForPK(ObjectContext context, Class<T> 
dataObjectClass, Object pk) {
-        return (T) objectForPK(context, buildId(context, dataObjectClass, pk));
+       public static <T> T objectForPK(ObjectContext context, Class<T> 
persistentObjectClass, Object pk) {
+        return (T) objectForPK(context, buildId(context, 
persistentObjectClass, pk));
     }
 
     /**
@@ -380,11 +380,11 @@ public class Cayenne {
      * @see #objectForPK(ObjectContext, ObjectId)
      */
     @SuppressWarnings("unchecked")
-       public static <T> T objectForPK(ObjectContext context, Class<T> 
dataObjectClass, Map<String, ?> pk) {
+       public static <T> T objectForPK(ObjectContext context, Class<T> 
persistantObjectClass, Map<String, ?> pk) {
 
-        ObjEntity entity = 
context.getEntityResolver().getObjEntity(dataObjectClass);
+        ObjEntity entity = 
context.getEntityResolver().getObjEntity(persistantObjectClass);
         if (entity == null) {
-            throw new CayenneRuntimeException("Non-existent ObjEntity for 
class: %s", dataObjectClass);
+            throw new CayenneRuntimeException("Non-existent ObjEntity for 
class: %s", persistantObjectClass);
         }
 
         return (T) objectForPK(context, ObjectId.of(entity.getName(), pk));
@@ -493,18 +493,18 @@ public class Cayenne {
         return ObjectId.of(objEntityName, attr, pk);
     }
 
-    static ObjectId buildId(ObjectContext context, Class<?> dataObjectClass, 
Object pk) {
+    static ObjectId buildId(ObjectContext context, Class<?> persistentClass, 
Object pk) {
         if (pk == null) {
             throw new IllegalArgumentException("Null PK");
         }
 
-        if (dataObjectClass == null) {
-            throw new IllegalArgumentException("Null DataObject class.");
+        if (persistentClass == null) {
+            throw new IllegalArgumentException("Null Persistent class.");
         }
 
-        ObjEntity entity = 
context.getEntityResolver().getObjEntity(dataObjectClass);
+        ObjEntity entity = 
context.getEntityResolver().getObjEntity(persistentClass);
         if (entity == null) {
-            throw new CayenneRuntimeException("Unmapped DataObject Class: %s", 
dataObjectClass.getName());
+            throw new CayenneRuntimeException("Unmapped Persistent Class: %s", 
persistentClass.getName());
         }
 
         Collection<String> pkAttributes = entity.getPrimaryKeyNames();
diff --git a/cayenne/src/main/java/org/apache/cayenne/DataRow.java 
b/cayenne/src/main/java/org/apache/cayenne/DataRow.java
index 4b1601068..c411b4221 100644
--- a/cayenne/src/main/java/org/apache/cayenne/DataRow.java
+++ b/cayenne/src/main/java/org/apache/cayenne/DataRow.java
@@ -30,13 +30,13 @@ import org.apache.cayenne.util.Util;
 /**
  * DataRow a map that holds values retrieved from the database for a given 
query row.
  * DataRows are used to cache raw database data and as a reference point for 
tracking
- * DataObject changes.
+ * PersistentObject changes.
  * 
  * @since 1.1
  */
 public class DataRow extends HashMap<String, Object> {
 
-    // make sure the starting value is different from DataObject default 
version value
+    // make sure the starting value is different from Persistent default 
version value
     private static final AtomicLong currentVersion = new 
AtomicLong(Persistent.DEFAULT_VERSION + 1);
 
     protected long version = currentVersion.getAndIncrement();
diff --git a/cayenne/src/main/java/org/apache/cayenne/EmbeddableObject.java 
b/cayenne/src/main/java/org/apache/cayenne/EmbeddableObject.java
index c098b9903..cb1b8ffe5 100644
--- a/cayenne/src/main/java/org/apache/cayenne/EmbeddableObject.java
+++ b/cayenne/src/main/java/org/apache/cayenne/EmbeddableObject.java
@@ -34,7 +34,7 @@ public interface EmbeddableObject {
     void writePropertyDirectly(String propertyName, Object val);
 
     /**
-     * Returns mapped property value as currently stored in the DataObject. 
Returned value
+     * Returns mapped property value as currently stored in the 
PersistentObject. Returned value
      * maybe a fault or a real value. This method will not attempt to resolve 
faults, or
      * to read unmapped properties.
      */
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java 
b/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java
index b1d2f3b8b..82c739b57 100644
--- a/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java
+++ b/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java
@@ -35,10 +35,10 @@ import org.apache.cayenne.reflect.PropertyUtils;
  * only difference is that this Map will be created lazily at first write, 
thus reducing memory penalty if possible.
  * <p>
  * This class can be used as superclass for objects that have attributes 
created at runtime.
- * If generic runtime attributes will be used always it may be a good idea to 
use {@link GenericPersistentObject} instead.
+ * If generic runtime attributes will always be used it may be a good idea to 
use {@link GenericPersistentObject} instead.
  * If you don't create attributes at runtime it is better to use {@link 
PersistentObject} class.
  * <p>
- * Map creation is not thread safe, as DataObject in general not thread safe 
by it's own.
+ * Map creation is not thread safe, as PersistentObject in general not thread 
safe by its own.
  *
  * @see PersistentObject
  * @see GenericPersistentObject
diff --git a/cayenne/src/main/java/org/apache/cayenne/Persistent.java 
b/cayenne/src/main/java/org/apache/cayenne/Persistent.java
index 99501d8e1..de24da335 100644
--- a/cayenne/src/main/java/org/apache/cayenne/Persistent.java
+++ b/cayenne/src/main/java/org/apache/cayenne/Persistent.java
@@ -53,7 +53,7 @@ public interface Persistent extends Serializable {
     void writePropertyDirectly(String propertyName, Object val);
 
     /**
-     * Returns mapped property value as curently stored in the DataObject. 
Returned value
+     * Returns mapped property value as currently stored in the Persistent 
object. Returned value
      * maybe a fault or a real value. This method will not attempt to resolve 
faults, or
      * to read unmapped properties.
      */
@@ -155,7 +155,7 @@ public interface Persistent extends Serializable {
     /**
      * Returns a value of the property identified by propName. Resolves faults 
if needed.
      * This method can safely be used instead of or in addition to the 
auto-generated
-     * property accessors in subclasses of CayenneDataObject.
+     * property accessors in subclasses of the Persistent object.
      */
     Object readProperty(String propName);
 
diff --git a/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java 
b/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java
index 3b5bcb963..7977bdac5 100644
--- a/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java
+++ b/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java
@@ -126,7 +126,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
                 .getClassDescriptor(objectId.getEntityName());
 
         if (descriptor == null) {
-            throw new IllegalStateException("DataObject's entity is unmapped, 
objectId: "
+            throw new IllegalStateException("Persistent's entity is unmapped, 
objectId: "
                     + objectId);
         }
 
@@ -306,7 +306,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
     @Override
     public void addToManyTarget(String relName, Persistent value, boolean 
setReverse) {
         if (value == null) {
-            throw new NullPointerException("Attempt to add null target 
DataObject.");
+            throw new NullPointerException("Attempt to add null target 
Persistent.");
         }
 
         willConnect(relName, value);
@@ -332,7 +332,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
     }
 
     /**
-     * Sets the relationships to the specified <code>DataObject</code> objects.
+     * Sets the relationships to the specified <code>Persistent</code> objects.
      *
      * <p>
      * New relationships will be created with
@@ -340,7 +340,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
      * already established relationships stay untouched. Missing relationships
      * will be removed with
      * {@link #removeToManyTarget(String, org.apache.cayenne.Persistent, 
boolean)}
-     * and returnd as List. You may delete them manually.
+     * and returned as List. You may delete them manually.
      * </p>
      *
      * <p>
@@ -350,15 +350,14 @@ public abstract class PersistentObject implements 
Persistent, Validating {
      * </p>
      *
      * @param relName    name of the relation
-     * @param values     <code>DataObject</code> objects of this
+     * @param values     <code>Persistent</code> objects of this
      *                   <code>Collection</code> are set to the object. No 
changes will
      *                   be made to the the <code>Collection</code>, a copy is 
used. It
      *                   is safe to pass a persisted <code>Collection</code> 
of another
      *                   object.
      * @param setReverse update reverse relationships
-     * @return <code>List&lt;? extends DataObject&gt;</code> of unrelated
-     * DataObjects. If no relationship was removed an empty List is
-     * returned.
+     * @return <code>List&lt;? extends Persistent&gt;</code> of unrelated 
Persistent objects.
+     * If no relationship was removed an empty List is returned.
      * @throws IllegalArgumentException      if no relationship could be read 
by relName, or if the passed
      *                                       <code>Collection</code> is null. 
To clear all relationships
      *                                       use an empty 
<code>Collection</code>
@@ -498,7 +497,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
         ObjEntity entity = resolver.getObjEntity(objectId.getEntityName());
 
         if (entity == null) {
-            throw new IllegalStateException("DataObject's entity is unmapped, 
objectId: " + objectId);
+            throw new IllegalStateException("Persistent's entity is unmapped, 
objectId: " + objectId);
         }
 
         ObjRelationship rel = entity.getRelationship(relName);
@@ -538,7 +537,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
      * failures to the provided validationResult object. This method is invoked
      * from "validateFor.." before committing a NEW or MODIFIED object to the
      * database. Validation includes checking for null values and value sizes.
-     * CayenneDataObject subclasses may override this method, calling super.
+     * PersistentObject subclasses may override this method, calling super.
      *
      * @since 1.1
      */
@@ -546,7 +545,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
 
         ObjEntity objEntity = 
getObjectContext().getEntityResolver().getObjEntity(this);
         if (objEntity == null) {
-            throw new CayenneRuntimeException("No ObjEntity mapping found for 
DataObject %s", getClass().getName());
+            throw new CayenneRuntimeException("No ObjEntity mapping found for 
Persistent %s", getClass().getName());
         }
 
         // validate mandatory attributes
@@ -660,7 +659,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
     }
 
     /**
-     * Calls {@link #validateForSave(ValidationResult)}. CayenneDataObject
+     * Calls {@link #validateForSave(ValidationResult)}. PersistentObject
      * subclasses may override it providing validation logic that should be
      * executed for the newly created objects before saving them.
      *
@@ -672,7 +671,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
     }
 
     /**
-     * Calls {@link #validateForSave(ValidationResult)}. CayenneDataObject
+     * Calls {@link #validateForSave(ValidationResult)}. PersistentObject
      * subclasses may override it providing validation logic that should be
      * executed for the modified objects before saving them.
      *
@@ -684,7 +683,7 @@ public abstract class PersistentObject implements 
Persistent, Validating {
     }
 
     /**
-     * This implementation does nothing. CayenneDataObject subclasses may
+     * This implementation does nothing. PersistentObject subclasses may
      * override it providing validation logic that should be executed for the
      * deleted objects before committing them.
      *
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java 
b/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java
index 8c78337cc..47b98b497 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java
@@ -596,7 +596,7 @@ public class DataContext implements ObjectContext {
     }
 
     /**
-     * Converts a list of DataRows to a List of DataObject registered with this
+     * Converts a list of DataRows to a List of Persistent registered with this
      * DataContext.
      * 
      * @since 3.0
@@ -616,7 +616,7 @@ public class DataContext implements ObjectContext {
     }
 
     /**
-     * Creates a DataObject from DataRow.
+     * Creates a Persistent from DataRow.
      * 
      * @see DataRow
      * @since 3.1
@@ -634,7 +634,7 @@ public class DataContext implements ObjectContext {
     }
 
     /**
-     * Creates a DataObject from DataRow. This variety of the
+     * Creates a Persistent from DataRow. This variety of the
      * 'objectFromDataRow' method is normally used for generic classes.
      * 
      * @see DataRow
@@ -689,13 +689,13 @@ public class DataContext implements ObjectContext {
     }
 
     /**
-     * Unregisters a Collection of DataObjects from the DataContext and the 
underlying ObjectStore.
+     * Unregisters a Collection of Persistent objects from the DataContext and 
the underlying ObjectStore.
      * This operation also unsets DataContext for each object and changes its 
state to {@link PersistenceState#TRANSIENT}
      * 
      * @see #invalidateObjects(Collection)
      */
-    public void unregisterObjects(Collection<?> dataObjects) {
-        getObjectStore().objectsUnregistered(dataObjects);
+    public void unregisterObjects(Collection<?> objects) {
+        getObjectStore().objectsUnregistered(objects);
     }
 
     @Override
@@ -1003,13 +1003,13 @@ public class DataContext implements ObjectContext {
      * <li>Query refreshing policy controls whether to refresh existing data
      * objects and ignore any cached values.</li>
      * <li>Query data rows policy defines whether the result should be returned
-     * as DataObjects or DataRows.</li>
+     * as Persistent objects or DataRows.</li>
      * </ul>
      * <p>
      * <i>Since 1.2 takes any Query parameter, not just GenericSelectQuery</i>
      * </p>
      * 
-     * @return A list of DataObjects or a DataRows, depending on the value
+     * @return A list of Persistent objects or a DataRows, depending on the 
value
      *         returned by {@link QueryMetadata#isFetchingDataRows()}.
      *         Сan also return an iterator if the query is an instance of 
iteratedQuery.
      */
@@ -1169,9 +1169,9 @@ public class DataContext implements ObjectContext {
             objectStore.setDataRowCache(cache);
         }
 
-        // CayenneDataObjects have a transient DataContext because at 
deserialize time
+        // PersistentObjects have a transient DataContext because at 
deserialize time
         // the DataContext may need to be different from the one at serialize 
time (for programmer defined reasons).
-        // So, when a DataObject is resurrected because it's DataContext was 
serialized,
+        // So, when a Persistent is resurrected because it's DataContext was 
serialized,
         // it will then set the objects DataContext to the correct one.
         // If deserialized "otherwise", it will not have a DataContext.
 
@@ -1213,7 +1213,7 @@ public class DataContext implements ObjectContext {
         }
 
         // have to synchronize almost the entire method to prevent multiple 
threads from
-        // messing up DataObjects per CAY-845. Originally only parts of "else" 
were synchronized,
+        // messing up Persistent objects per CAY-845. Originally only parts of 
"else" were synchronized,
         // but we had to expand the lock scope to ensure consistent behavior.
         synchronized (getGraphManager()) {
             Persistent cachedObject = (Persistent) 
getGraphManager().getNode(id);
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/DataContextDelegate.java 
b/cayenne/src/main/java/org/apache/cayenne/access/DataContextDelegate.java
index 8eca04c4c..f450eff0e 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/DataContextDelegate.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/DataContextDelegate.java
@@ -77,7 +77,7 @@ public interface DataContextDelegate {
      * and all other objects - to TRANSIENT. To block this behavior, delegate 
should
      * return <code>false</code>, and possibly do its own processing.
      * 
-     * @param object DataObject that was deleted externally and is still 
present in the
+     * @param object Persistent that was deleted externally and is still 
present in the
      *            ObjectStore associated with the delegate.
      */
     boolean shouldProcessDelete(Persistent object);
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQuery.java 
b/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
index 353c92574..5f64410a7 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
@@ -129,7 +129,7 @@ class DataDomainQuery implements Query, QueryMetadata {
     }
 
     public boolean isFetchingDataRows() {
-        // must return true, otherwise the stack will attempt DataObject 
conversion
+        // must return true, otherwise the stack will attempt Persistent 
conversion
         return true;
     }
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
 
b/cayenne/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
index 04cfe32a9..b87baf6ba 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
@@ -439,7 +439,7 @@ class HierarchicalObjectResolver {
         }
     }
 
-    // processor that converts temporary associations between DataObjects to 
Cayenne
+    // processor that converts temporary associations between Persistent 
objects to Cayenne
     // relationships and also fires snapshot update events
     final class PostProcessor implements PrefetchProcessor {
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java 
b/cayenne/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
index 00f73d5d4..ce4d7bdcf 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
@@ -40,14 +40,14 @@ import java.util.Map;
 import java.util.NoSuchElementException;
 
 /**
- * A synchronized list that serves as a container of DataObjects. It is 
returned
+ * A synchronized list that serves as a container of Persistent objects. It is 
returned
  * when a paged query is performed by DataContext. On creation, only the first
  * "page" is fully resolved, for the rest of the objects only their ObjectIds
  * are read. Pages following the first page are resolved on demand only. On
  * access to an element, the list would ensure that this element as well as all
  * its siblings on the same page are fully resolved.
  * <p>
- * The list can hold DataRows or DataObjects. Attempts to add any other object
+ * The list can hold DataRows or Persistent objects. Attempts to add any other 
object
  * types will result in an exception.
  * </p>
  * <p>
@@ -165,7 +165,7 @@ public class IncrementalFaultList<E> implements List<E>, 
Serializable {
 
        /**
         * Checks that an object is of the same type as the rest of objects
-        * (DataObject or DataRows depending on the query type).
+        * (Persistent or DataRows depending on the query type).
         */
        private void validateListObject(Object object) throws 
IllegalArgumentException {
                if(elements == null) {
@@ -180,7 +180,7 @@ public class IncrementalFaultList<E> implements List<E>, 
Serializable {
                        }
                } else {
                        if (!(object instanceof Persistent)) {
-                               throw new IllegalArgumentException("Only 
DataObjects can be stored in this list.");
+                               throw new IllegalArgumentException("Only 
Persistent objects can be stored in this list.");
                        }
                }
        }
@@ -380,7 +380,7 @@ public class IncrementalFaultList<E> implements List<E>, 
Serializable {
        }
 
        /**
-        * Returns a list iterator for this list. DataObjects are resolved a 
page
+        * Returns a list iterator for this list. Persistent objects are 
resolved a page
         * (according to getPageSize()) at a time as necessary - when retrieved 
with
         * next() or previous().
         */
@@ -393,7 +393,7 @@ public class IncrementalFaultList<E> implements List<E>, 
Serializable {
         * sequence), starting at the specified position in this list. The 
specified
         * index indicates the first element that would be returned by an 
initial
         * call to the next method. An initial call to the previous method would
-        * return the element with the specified index minus one. DataObjects 
are
+        * return the element with the specified index minus one. Persistent 
objects are
         * resolved a page at a time (according to getPageSize()) as necessary -
         * when retrieved with next() or previous().
         */
@@ -406,7 +406,7 @@ public class IncrementalFaultList<E> implements List<E>, 
Serializable {
        }
 
        /**
-        * Return an iterator for this list. DataObjects are resolved a page
+        * Return an iterator for this list. Persistent objects are resolved a 
page
         * (according to getPageSize()) at a time as necessary - when retrieved 
with
         * next().
         */
@@ -772,8 +772,8 @@ public class IncrementalFaultList<E> implements List<E>, 
Serializable {
                                return false;
                        }
 
-                       Persistent dataObject = (Persistent) object;
-                       return 
dataObject.getObjectId().getIdSnapshot().equals(objectInTheList);
+                       Persistent persistent = (Persistent) object;
+                       return 
persistent.getObjectId().getIdSnapshot().equals(objectInTheList);
                }
        }
 
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java 
b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java
index 055a5d51a..28c17d11b 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java
@@ -276,7 +276,7 @@ public class ObjectStore implements Serializable, 
SnapshotEventListener, GraphMa
     }
 
     /**
-     * Evicts a collection of DataObjects from the ObjectStore, invalidates 
the underlying
+     * Evicts a collection of Persistent objects from the ObjectStore, 
invalidates the underlying
      * cache snapshots. Changes objects state to TRANSIENT. This method can be 
used for
      * manual cleanup of Cayenne cache.
      */
@@ -534,7 +534,7 @@ public class ObjectStore implements Serializable, 
SnapshotEventListener, GraphMa
 
     /**
      * SnapshotEventListener implementation that processes snapshot change 
event, updating
-     * DataObjects that have the changes.
+     * Persistent objects that have the changes.
      * <p>
      * <i>Implementation note: </i> This method should not attempt to alter 
the underlying
      * DataRowStore, since it is normally invoked *AFTER* the DataRowStore was 
modified as
@@ -838,7 +838,7 @@ public class ObjectStore implements Serializable, 
SnapshotEventListener, GraphMa
     // =========================================
 
     /**
-     * Returns a registered DataObject or null of no object exists for the 
ObjectId.
+     * Returns a registered Persistent objects or null of no object exists for 
the ObjectId.
      * 
      * @since 1.2
      */
@@ -853,7 +853,7 @@ public class ObjectStore implements Serializable, 
SnapshotEventListener, GraphMa
     }
 
     /**
-     * Returns all registered DataObjects. List is returned by copy and can be 
modified by
+     * Returns all registered Persistent objects. List is returned by copy and 
can be modified by
      * the caller.
      * 
      * @since 1.2
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java 
b/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java
index 6663d075f..f9de9bb95 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java
@@ -67,9 +67,9 @@ public class ToManyList<E> extends PersistentObjectList<E> 
implements Serializab
         // No point in adding a new or transient object -- these will never be 
fetched
         // from the database.
         if (object instanceof Persistent) {
-            Persistent dataObject = (Persistent) object;
-            if ((dataObject.getPersistenceState() == 
PersistenceState.TRANSIENT)
-                    || (dataObject.getPersistenceState() == 
PersistenceState.NEW)) {
+            Persistent persistent = (Persistent) object;
+            if ((persistent.getPersistenceState() == 
PersistenceState.TRANSIENT)
+                    || (persistent.getPersistenceState() == 
PersistenceState.NEW)) {
                 return false;
             }
         }
@@ -83,26 +83,26 @@ public class ToManyList<E> extends PersistentObjectList<E> 
implements Serializab
 
     @Override
     protected void postprocessAdd(Collection<? extends E> collection) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void postprocessRemove(Collection<? extends E> collection) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void postprocessAdd(E addedObject) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void postprocessRemove(E removedObject) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void updateReverse(List<E> resolved) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 }
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ToManyMap.java 
b/cayenne/src/main/java/org/apache/cayenne/access/ToManyMap.java
index da0b177d5..e63f65b6e 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/ToManyMap.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/ToManyMap.java
@@ -33,21 +33,21 @@ class ToManyMap extends PersistentObjectMap {
     
     @Override
     protected void postprocessAdd(Collection collection) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
     
     @Override
     protected void postprocessAdd(Object addedObject) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
     
     @Override
     protected void postprocessRemove(Collection collection) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
     
     @Override
     protected void postprocessRemove(Object removedObject) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 }
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java 
b/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java
index 42c71ca57..ea77f09c1 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java
@@ -38,35 +38,35 @@ public class ToManySet<E> extends PersistentObjectSet<E> 
implements Serializable
         // No point in adding a new or transient object -- these will never be 
fetched
         // from the database.
         if (object instanceof Persistent) {
-            Persistent dataObject = (Persistent) object;
-            return (dataObject.getPersistenceState() != 
PersistenceState.TRANSIENT)
-                    && (dataObject.getPersistenceState() != 
PersistenceState.NEW);
+            Persistent persistent = (Persistent) object;
+            return (persistent.getPersistenceState() != 
PersistenceState.TRANSIENT)
+                    && (persistent.getPersistenceState() != 
PersistenceState.NEW);
         }
         return true;
     }
 
     @Override
     protected void postprocessAdd(Collection<? extends E> collection) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void postprocessRemove(Collection<? extends E> collection) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void postprocessAdd(E addedObject) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void postprocessRemove(E removedObject) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 
     @Override
     protected void updateReverse(List<E> resolved) {
-        // no need for this operation for DataObjects...
+        // no need for this operation for Persistent objects...
     }
 }
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ToOneFault.java 
b/cayenne/src/main/java/org/apache/cayenne/access/ToOneFault.java
index 368cc6151..afb43fe3d 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/ToOneFault.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/ToOneFault.java
@@ -33,7 +33,7 @@ import org.apache.cayenne.query.RelationshipQuery;
 public class ToOneFault extends Fault {
 
     /**
-     * Resolves this fault to a DataObject.
+     * Resolves this fault to a Persistent.
      */
     @Override
     public Object resolveFault(Persistent sourceObject, String 
relationshipName) {
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/flush/PostprocessVisitor.java 
b/cayenne/src/main/java/org/apache/cayenne/access/flush/PostprocessVisitor.java
index d92526962..6f9668a41 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/access/flush/PostprocessVisitor.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/access/flush/PostprocessVisitor.java
@@ -73,9 +73,9 @@ class PostprocessVisitor implements DbRowOpVisitor<Void> {
         DataRow dataRow = context.currentSnapshot(dbRow.getObject());
 
         if (dbRow.getObject() != null) {
-            Persistent dataObject = dbRow.getObject();
-            dataRow.setReplacesVersion(dataObject.getSnapshotVersion());
-            dataObject.setSnapshotVersion(dataRow.getVersion());
+            Persistent persistent = dbRow.getObject();
+            dataRow.setReplacesVersion(persistent.getSnapshotVersion());
+            persistent.setSnapshotVersion(dataRow.getVersion());
         }
 
         if (updatedSnapshots == null) {
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java 
b/cayenne/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java
index d3c4e656e..453f9f297 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/access/jdbc/LimitResultIterator.java
@@ -33,7 +33,6 @@ import java.util.NoSuchElementException;
 public class LimitResultIterator<T> implements ResultIterator<T> {
 
     protected ResultIterator<T> delegate;
-    protected Map<String, Object> nextDataObjectIds;
 
     protected int fetchLimit;
     protected int offset;
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java 
b/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java
index 169ad91f2..7a1ba2674 100644
--- a/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java
+++ b/cayenne/src/main/java/org/apache/cayenne/ashwood/AshwoodEntitySorter.java
@@ -52,7 +52,7 @@ import java.util.function.Function;
 
 /**
  * Implements dependency sorting algorithms for ObjEntities, DbEntities and
- * DataObjects. Presently it works for acyclic database schemas with possible
+ * Persistent objects. Presently it works for acyclic database schemas with 
possible
  * multi-reflexive tables.
  * 
  * @since 3.1
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/exp/parser/ASTObjPath.java 
b/cayenne/src/main/java/org/apache/cayenne/exp/parser/ASTObjPath.java
index 694823645..6dde8b44b 100644
--- a/cayenne/src/main/java/org/apache/cayenne/exp/parser/ASTObjPath.java
+++ b/cayenne/src/main/java/org/apache/cayenne/exp/parser/ASTObjPath.java
@@ -113,8 +113,8 @@ public class ASTObjPath extends ASTPath {
                        try {
                                String firstSegment = getPath().first().value();
                                if (source instanceof Persistent) {
-                                       Persistent dataObject = (Persistent) 
source;
-                                       dataObject.writeProperty(firstSegment, 
dynamicCastValue(dataObject, value));
+                                       Persistent persistent = (Persistent) 
source;
+                                       persistent.writeProperty(firstSegment, 
dynamicCastValue(persistent, value));
                                } else {
                                        PropertyUtils.setProperty(source, 
firstSegment, value);
                                }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/graph/ChildDiffLoader.java 
b/cayenne/src/main/java/org/apache/cayenne/graph/ChildDiffLoader.java
index 8bfd9a1de..f8c7643b7 100644
--- a/cayenne/src/main/java/org/apache/cayenne/graph/ChildDiffLoader.java
+++ b/cayenne/src/main/java/org/apache/cayenne/graph/ChildDiffLoader.java
@@ -95,16 +95,16 @@ public class ChildDiffLoader implements GraphChangeHandler {
                                throw new IllegalArgumentException("Entity not 
mapped with Cayenne: " + id);
                        }
 
-                       Persistent dataObject;
+                       Persistent persistent;
                        Class<?> javaClass = 
context.getEntityResolver().getObjectFactory().getJavaClass(entity.getJavaClassName());
                        try {
-                               dataObject = (Persistent) 
javaClass.getDeclaredConstructor().newInstance();
+                               persistent = (Persistent) 
javaClass.getDeclaredConstructor().newInstance();
                        } catch (Exception ex) {
                                throw new CayenneRuntimeException("Error 
instantiating object.", ex);
                        }
 
-                       dataObject.setObjectId(id);
-                       context.registerNewObject(dataObject);
+                       persistent.setObjectId(id);
+                       context.registerNewObject(persistent);
                } finally {
                        setExternalChange(Boolean.FALSE);
                }
diff --git a/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java 
b/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java
index bda2ea70b..6b405c678 100644
--- a/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java
+++ b/cayenne/src/main/java/org/apache/cayenne/map/DataMap.java
@@ -666,7 +666,7 @@ public class DataMap implements Serializable, 
ConfigurationNode, XMLSerializable
        }
 
        /**
-        * Returns an ObjEntity for a DataObject class name.
+        * Returns an ObjEntity for a Persistent class name.
         * 
         * @since 1.1
         */
diff --git a/cayenne/src/main/java/org/apache/cayenne/map/ObjEntity.java 
b/cayenne/src/main/java/org/apache/cayenne/map/ObjEntity.java
index b0fdaa12f..5bc93aa3f 100644
--- a/cayenne/src/main/java/org/apache/cayenne/map/ObjEntity.java
+++ b/cayenne/src/main/java/org/apache/cayenne/map/ObjEntity.java
@@ -49,7 +49,7 @@ import java.util.TreeMap;
 import java.util.function.Function;
 
 /**
- * ObjEntity is a mapping descriptor for a DataObject Java class. It contains
+ * ObjEntity is a mapping descriptor for a Persistent Java class. It contains
  * the information about the Java class itself, as well as its mapping to the
  * DbEntity layer.
  */
@@ -174,7 +174,7 @@ public class ObjEntity extends Entity<ObjEntity, 
ObjAttribute, ObjRelationship>
     /**
      * Returns a non-null class name. For generic entities with no class
      * specified explicitly, default DataMap superclass is used, and if it is
-     * not set - CayenneDataObject is used.
+     * not set - GenericPersistentObject is used.
      * 
      * @since 4.0
      */
@@ -242,7 +242,7 @@ public class ObjEntity extends Entity<ObjEntity, 
ObjAttribute, ObjRelationship>
      * Returns whether this entity is "generic", meaning it is not mapped to a
      * unique Java class. Criterion for generic entities is that it either has
      * no Java class mapped or its class is the same as DataMap's default
-     * superclass, or it is CayenneDataObject.
+     * superclass, or it is GenericPersistentObject.
      * 
      * @since 1.2
      */
@@ -303,21 +303,21 @@ public class ObjEntity extends Entity<ObjEntity, 
ObjAttribute, ObjRelationship>
     }
 
     /**
-     * Returns the name of DataObject class described by this entity.
+     * Returns the name of Persistent class described by this entity.
      */
     public String getClassName() {
         return className;
     }
 
     /**
-     * Sets the name of the DataObject class described by this entity.
+     * Sets the name of the Persistent class described by this entity.
      */
     public void setClassName(String className) {
         this.className = className;
     }
 
     /**
-     * Returns a fully-qualified name of the super class of the DataObject
+     * Returns a fully-qualified name of the super class of the Persistent
      * class. This value is used as a hint for class generation. If the entity
      * inherits from another entity, a superclass is the class of that entity.
      */
@@ -327,7 +327,7 @@ public class ObjEntity extends Entity<ObjEntity, 
ObjAttribute, ObjRelationship>
     }
 
     /**
-     * Sets a fully-qualified name of the super class of the DataObject class.
+     * Sets a fully-qualified name of the super class of the Persistent class.
      * This value is used as a hint for class generation.
      * <p>
      * <i>An attempt to set superclass on an inherited entity has no effect,
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java 
b/cayenne/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java
index 418af54fc..db3f0b02d 100644
--- a/cayenne/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java
+++ b/cayenne/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java
@@ -87,9 +87,9 @@ public class DeleteBatchQuery extends BatchQuery {
         this.usingOptimisticLocking = usingOptimisticLocking;
     }
 
-    public void add(Map<String, Object> dataObjectId) {
+    public void add(Map<String, Object> objectId) {
 
-        rows.add(new BatchQueryRow(null, dataObjectId) {
+        rows.add(new BatchQueryRow(null, objectId) {
             @Override
             public Object getValue(int i) {
                 Object value = qualifier.get(dbAttributes.get(i).getName());
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java 
b/cayenne/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java
index 0a0714797..c004bee95 100644
--- a/cayenne/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java
+++ b/cayenne/src/main/java/org/apache/cayenne/query/InsertBatchQuery.java
@@ -29,7 +29,7 @@ import java.util.Map;
  * Batched INSERT query. Allows inserting multiple object snapshots (DataRows)
  * for a given DbEntity in a single query. InsertBatchQuery normally is not 
used
  * directly. Rather DataContext creates one internally when committing
- * DataObjects.
+ * Persistent objects.
  */
 public class InsertBatchQuery extends BatchQuery {
 
diff --git a/cayenne/src/main/java/org/apache/cayenne/query/Ordering.java 
b/cayenne/src/main/java/org/apache/cayenne/query/Ordering.java
index c942bafa2..9cb90451d 100644
--- a/cayenne/src/main/java/org/apache/cayenne/query/Ordering.java
+++ b/cayenne/src/main/java/org/apache/cayenne/query/Ordering.java
@@ -43,7 +43,7 @@ import org.apache.cayenne.util.XMLSerializable;
  * Defines object sorting criteria, used either for in-memory sorting of object
  * lists or as a specification for building <em>ORDER BY</em> clause of a
  * SelectQuery query. Note that in case of in-memory sorting, Ordering can be
- * used with any JavaBeans, not just DataObjects.
+ * used with any JavaBeans, not just Persistent objects.
  */
 public class Ordering implements Comparator<Object>, Serializable, 
XMLSerializable {
 
diff --git a/cayenne/src/main/java/org/apache/cayenne/query/QueryMetadata.java 
b/cayenne/src/main/java/org/apache/cayenne/query/QueryMetadata.java
index 2797f912e..49dae73a5 100644
--- a/cayenne/src/main/java/org/apache/cayenne/query/QueryMetadata.java
+++ b/cayenne/src/main/java/org/apache/cayenne/query/QueryMetadata.java
@@ -155,7 +155,7 @@ public interface QueryMetadata {
 
     /**
      * Returns <code>true</code> if this query should produce a list of data 
rows as
-     * opposed to DataObjects, <code>false</code> for DataObjects. This is a 
hint to
+     * opposed to Persistent objects, <code>false</code> for Persistent 
objects. This is a hint to
      * QueryEngine executing this query.
      */
     boolean isFetchingDataRows();
diff --git a/cayenne/src/main/java/org/apache/cayenne/query/SQLSelect.java 
b/cayenne/src/main/java/org/apache/cayenne/query/SQLSelect.java
index f069c5a43..4c7b93d6d 100644
--- a/cayenne/src/main/java/org/apache/cayenne/query/SQLSelect.java
+++ b/cayenne/src/main/java/org/apache/cayenne/query/SQLSelect.java
@@ -87,7 +87,7 @@ public class SQLSelect<T> extends IndirectQuery implements 
Select<T> {
        }
 
        /**
-        * Creates a query that selects DataObjects.
+        * Creates a query that selects Persistent objects.
         */
        public static <T> SQLSelect<T> query(Class<T> type, String sql) {
                return new SQLSelect<>(type, sql);
diff --git a/cayenne/src/main/java/org/apache/cayenne/reflect/Accessor.java 
b/cayenne/src/main/java/org/apache/cayenne/reflect/Accessor.java
index 4ca2abbac..ce25a1bb1 100644
--- a/cayenne/src/main/java/org/apache/cayenne/reflect/Accessor.java
+++ b/cayenne/src/main/java/org/apache/cayenne/reflect/Accessor.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
 
 /**
  * An accessor of a property value. Abstracts the actual property 
implementation. E.g. it
- * can be a Field, a pair of get/set methods or a map/DataObject.
+ * can be a Field, a pair of get/set methods or a map/Persistent.
  * 
  * @since 3.0
  */
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToManyProperty.java 
b/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToManyProperty.java
index 5abb9ccc4..70931ba68 100644
--- a/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToManyProperty.java
+++ b/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToManyProperty.java
@@ -65,7 +65,7 @@ public abstract class BaseToManyProperty extends 
BaseArcProperty implements
             throw new NullPointerException("Attempt to add null object.");
         }
 
-        // TODO, Andrus, 2/9/2006 - CayenneDataObject differences:
+        // TODO, Andrus, 2/9/2006 - GenericPersistentObject differences:
         // * invokes "willConnect"
         // * has a callback to ObjectStore to handle flattened
         // * has a callback to ObjectStore to retain snapshot
@@ -91,7 +91,7 @@ public abstract class BaseToManyProperty extends 
BaseArcProperty implements
 
     public void removeTarget(Object source, Object target, boolean setReverse) 
{
 
-        // TODO, Andrus, 2/9/2006 - CayenneDataObject differences:
+        // TODO, Andrus, 2/9/2006 - GenericPersistentObject differences:
         // * has a callback to ObjectStore to handle flattened
         // * changes object state to modified
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToOneProperty.java 
b/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToOneProperty.java
index b53191a9f..33706b25b 100644
--- a/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToOneProperty.java
+++ b/cayenne/src/main/java/org/apache/cayenne/reflect/BaseToOneProperty.java
@@ -37,7 +37,7 @@ public abstract class BaseToOneProperty extends 
BaseArcProperty implements ToOne
             return;
         }
 
-        // TODO, Andrus, 2/9/2006 - CayenneDataObject also invokes 
"willConnect" and has a
+        // TODO, Andrus, 2/9/2006 - GenericPersistentObject also invokes 
"willConnect" and has a
         // callback to ObjectStore to handle flattened....
 
         if (setReverse) {
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectAccessor.java
 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectAccessor.java
index a1e86af3d..4f77fb711 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectAccessor.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectAccessor.java
@@ -24,7 +24,7 @@ import org.apache.cayenne.reflect.Accessor;
 import org.apache.cayenne.reflect.PropertyException;
 
 /**
- * A PropertyAccessor that uses DataObject API to read/write values.
+ * A PropertyAccessor that uses Persistent API to read/write values.
  *
  * @since 3.0
  */
@@ -45,19 +45,19 @@ class PersistentObjectAccessor implements Accessor {
     }
 
     /**
-     * Reads the value without disturbing DataObject state. I.e. no Fault 
resolving occurs
+     * Reads the value without disturbing Persistent state. I.e. no Fault 
resolving occurs
      * here.
      */
     public Object getValue(Object object) throws PropertyException {
         try {
-            Persistent dataObject = (Persistent) object;
-            return dataObject.readPropertyDirectly(propertyName);
+            Persistent persistent = (Persistent) object;
+            return persistent.readPropertyDirectly(propertyName);
         } catch (ClassCastException e) {
-            throw new PropertyException("Object is not a DataObject: '"
+            throw new PropertyException("Object is not a Persistent: '"
                     + object.getClass().getName()
                     + "'", this, object, e);
         } catch (Throwable th) {
-            throw new PropertyException("Error reading DataObject property: "
+            throw new PropertyException("Error reading Persistent property: "
                     + propertyName, this, object, th);
         }
 
@@ -71,11 +71,11 @@ class PersistentObjectAccessor implements Accessor {
         try {
             ((Persistent) object).writePropertyDirectly(propertyName, 
newValue);
         } catch (ClassCastException e) {
-            throw new PropertyException("Object is not a DataObject: '"
+            throw new PropertyException("Object is not a Persistent: '"
                     + object.getClass().getName()
                     + "'", this, object, e);
         } catch (Throwable th) {
-            throw new PropertyException("Error reading DataObject property: "
+            throw new PropertyException("Error reading Persistent property: "
                     + propertyName, this, object, th);
         }
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectBaseProperty.java
 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectBaseProperty.java
index 27348f49c..775bba277 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectBaseProperty.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectBaseProperty.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.reflect.PropertyException;
 import org.apache.cayenne.reflect.PropertyVisitor;
 
 /**
- * A superclass of DataObject properties that accesses object via DataObject 
methods.
+ * A superclass of Persistent properties that accesses object via Persistent 
methods.
  * 
  * @since 3.0
  */
@@ -40,11 +40,11 @@ abstract class PersistentObjectBaseProperty implements 
PropertyDescriptor, Seria
 
     public Object readProperty(Object object) throws PropertyException {
         try {
-            return toDataObject(object).readProperty(getName());
+            return toPersistent(object).readProperty(getName());
         }
         catch (Throwable th) {
             throw new PropertyException(
-                    "Error reading DataObject property: " + getName(),
+                    "Error reading Persistent property: " + getName(),
                     this,
                     object,
                     th);
@@ -54,11 +54,11 @@ abstract class PersistentObjectBaseProperty implements 
PropertyDescriptor, Seria
     public void writeProperty(Object object, Object oldValue, Object newValue)
             throws PropertyException {
         try {
-            toDataObject(object).writeProperty(getName(), newValue);
+            toPersistent(object).writeProperty(getName(), newValue);
         }
         catch (Throwable th) {
             throw new PropertyException(
-                    "Error writing DataObject property: " + getName(),
+                    "Error writing Persistent property: " + getName(),
                     this,
                     object,
                     th);
@@ -67,11 +67,11 @@ abstract class PersistentObjectBaseProperty implements 
PropertyDescriptor, Seria
 
     public Object readPropertyDirectly(Object object) throws PropertyException 
{
         try {
-            return toDataObject(object).readPropertyDirectly(getName());
+            return toPersistent(object).readPropertyDirectly(getName());
         }
         catch (Throwable th) {
             throw new PropertyException(
-                    "Error reading DataObject property: " + getName(),
+                    "Error reading Persistent property: " + getName(),
                     this,
                     object,
                     th);
@@ -81,23 +81,23 @@ abstract class PersistentObjectBaseProperty implements 
PropertyDescriptor, Seria
     public void writePropertyDirectly(Object object, Object oldValue, Object 
newValue)
             throws PropertyException {
         try {
-            toDataObject(object).writePropertyDirectly(getName(), newValue);
+            toPersistent(object).writePropertyDirectly(getName(), newValue);
         }
         catch (Throwable th) {
             throw new PropertyException(
-                    "Error writing DataObject property: " + getName(),
+                    "Error writing Persistent property: " + getName(),
                     this,
                     object,
                     th);
         }
     }
 
-    protected final Persistent toDataObject(Object object) throws 
PropertyException {
+    protected final Persistent toPersistent(Object object) throws 
PropertyException {
         try {
             return (Persistent) object;
         }
         catch (ClassCastException e) {
-            throw new PropertyException("Object is not a DataObject: '"
+            throw new PropertyException("Object is not a Persistent: '"
                     + object.getClass().getName()
                     + "'", this, object, e);
         }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToManyProperty.java
 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToManyProperty.java
index 249db3e72..f955559ee 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToManyProperty.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToManyProperty.java
@@ -75,17 +75,17 @@ class PersistentObjectToManyProperty extends 
PersistentObjectBaseProperty implem
 
     public void addTarget(Object source, Object target, boolean setReverse) 
throws PropertyException {
         try {
-            toDataObject(source).addToManyTarget(getName(), 
toDataObject(target), setReverse);
+            toPersistent(source).addToManyTarget(getName(), 
toPersistent(target), setReverse);
         } catch (Throwable th) {
-            throw new PropertyException("Error setting to-many DataObject 
property: " + getName(), this, source, th);
+            throw new PropertyException("Error setting to-many Persistent 
property: " + getName(), this, source, th);
         }
     }
 
     public void removeTarget(Object source, Object target, boolean setReverse) 
throws PropertyException {
         try {
-            toDataObject(source).removeToManyTarget(getName(), 
toDataObject(target), setReverse);
+            toPersistent(source).removeToManyTarget(getName(), 
toPersistent(target), setReverse);
         } catch (Throwable th) {
-            throw new PropertyException("Error unsetting to-many DataObject 
property: " + getName(), this, source, th);
+            throw new PropertyException("Error unsetting to-many Persistent 
property: " + getName(), this, source, th);
         }
     }
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToOneProperty.java
 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToOneProperty.java
index 82c4ea99d..482cd7b31 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToOneProperty.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/reflect/generic/PersistentObjectToOneProperty.java
@@ -81,13 +81,13 @@ class PersistentObjectToOneProperty extends 
PersistentObjectBaseProperty impleme
 
     public void setTarget(Object source, Object target, boolean setReverse) {
         try {
-            toDataObject(source).setToOneTarget(
+            toPersistent(source).setToOneTarget(
                     getName(),
-                    toDataObject(target),
+                    toPersistent(target),
                     setReverse);
         }
         catch (Throwable th) {
-            throw new PropertyException("Error setting to-one DataObject 
property: "
+            throw new PropertyException("Error setting to-one Persistent 
property: "
                     + getName(), this, source, th);
         }
     }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectList.java 
b/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectList.java
index 610859a9d..4bf6b9b29 100644
--- a/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectList.java
+++ b/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectList.java
@@ -352,8 +352,8 @@ public class PersistentObjectList<E> extends 
RelationshipFault<E> implements Lis
             if (addedToUnresolved != null && !addedToUnresolved.isEmpty()) {
                 for (E next : addedToUnresolved) {
                     if (next instanceof Persistent) {
-                        Persistent dataObject = (Persistent) next;
-                        if (dataObject.getPersistenceState() == 
PersistenceState.TRANSIENT) {
+                        Persistent persistent = (Persistent) next;
+                        if (persistent.getPersistenceState() == 
PersistenceState.TRANSIENT) {
                             continue;
                         }
                     }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectSet.java 
b/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectSet.java
index 28d6093f4..b1f67ebaa 100644
--- a/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectSet.java
+++ b/cayenne/src/main/java/org/apache/cayenne/util/PersistentObjectSet.java
@@ -294,8 +294,8 @@ public class PersistentObjectSet<E> extends 
RelationshipFault<E>
                 for (E next : addedToUnresolved) {
 
                     if (next instanceof Persistent) {
-                        Persistent dataObject = (Persistent) next;
-                        if (dataObject.getPersistenceState() == 
PersistenceState.TRANSIENT) {
+                        Persistent persistent = (Persistent) next;
+                        if (persistent.getPersistenceState() == 
PersistenceState.TRANSIENT) {
                             continue;
                         }
                     }
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/util/ShallowMergeOperation.java 
b/cayenne/src/main/java/org/apache/cayenne/util/ShallowMergeOperation.java
index fcc8b0712..8388117b0 100644
--- a/cayenne/src/main/java/org/apache/cayenne/util/ShallowMergeOperation.java
+++ b/cayenne/src/main/java/org/apache/cayenne/util/ShallowMergeOperation.java
@@ -57,7 +57,7 @@ public class ShallowMergeOperation {
         GraphManager graphManager = context.getGraphManager();
 
         // have to synchronize almost the entire method to prevent multiple 
threads from
-        // messing up dataobjects per CAY-845.
+        // messing up Persistent objects per CAY-845.
         synchronized (graphManager) {
             T object = (T) graphManager.getNode(id);
 
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectFlattenedRelIT.java
similarity index 99%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectFlattenedRelIT.java
index 52533632f..1a6727eb7 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectFlattenedRelIT.java
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectFlattenedRelIT extends RuntimeCase {
+public class CayennePersistentObjectFlattenedRelIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectIT.java
similarity index 99%
rename from cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectIT.java
index d21898f5e..0c5d2635b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectIT.java
@@ -37,7 +37,7 @@ import org.apache.cayenne.unit.util.TstBean;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectIT extends RuntimeCase {
+public class CayennePersistentObjectIT extends RuntimeCase {
 
        @Inject
        private ObjectContext context;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectInContextIT.java
similarity index 99%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectInContextIT.java
index 8fb68273a..0480ed00c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectInContextIT.java
@@ -37,7 +37,7 @@ import java.util.List;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectInContextIT extends RuntimeCase {
+public class CayennePersistentObjectInContextIT extends RuntimeCase {
 
     @Inject
     protected CayenneRuntime runtime;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectReflexiveIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectReflexiveIT.java
similarity index 98%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectReflexiveIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectReflexiveIT.java
index 0fcfe47df..afd5d6ae4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectReflexiveIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectReflexiveIT.java
@@ -31,7 +31,7 @@ import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.REFLEXIVE_PROJECT)
-public class CayenneDataObjectReflexiveIT extends RuntimeCase {
+public class CayennePersistentObjectReflexiveIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectRelationshipsIT.java
similarity index 99%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectRelationshipsIT.java
index 004313766..7ba140dda 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectRelationshipsIT.java
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectRelationshipsIT extends RuntimeCase {
+public class CayennePersistentObjectRelationshipsIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyCollectionIT.java
similarity index 97%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyCollectionIT.java
index e4d6b1099..b0b86a63d 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyCollectionIT.java
@@ -36,7 +36,7 @@ import java.util.Collection;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_COLLECTION_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManyCollectionIT extends RuntimeCase {
+public class CayennePersistentObjectSetToManyCollectionIT extends RuntimeCase {
 
        @Inject
        private ObjectContext context;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyListIT.java
similarity index 99%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyListIT.java
index 3bc6b0717..534ceb123 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyListIT.java
@@ -41,7 +41,7 @@ import java.util.List;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectSetToManyListIT extends RuntimeCase {
+public class CayennePersistentObjectSetToManyListIT extends RuntimeCase {
 
        @Inject
        private CayenneRuntime runtime;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyMapIT.java
similarity index 97%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyMapIT.java
index 821af67d4..6cfd1d8ff 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManyMapIT.java
@@ -35,7 +35,7 @@ import java.util.Map;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.MAP_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManyMapIT extends RuntimeCase {
+public class CayennePersistentObjectSetToManyMapIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManySetIT.java
similarity index 97%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManySetIT.java
index 25467ba45..2a5038fb0 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectSetToManySetIT.java
@@ -36,7 +36,7 @@ import java.util.Set;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_SET_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManySetIT extends RuntimeCase {
+public class CayennePersistentObjectSetToManySetIT extends RuntimeCase {
 
        @Inject
        protected ObjectContext context;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectValidationIT.java
similarity index 98%
rename from 
cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
rename to 
cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectValidationIT.java
index b17ae9f85..8dbfdde89 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectValidationIT.java
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectValidationIT extends RuntimeCase {
+public class CayennePersistentObjectValidationIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/MockDataObject.java 
b/cayenne/src/test/java/org/apache/cayenne/MockDataObject.java
deleted file mode 100644
index dedbbee6b..000000000
--- a/cayenne/src/test/java/org/apache/cayenne/MockDataObject.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne;
-
-import java.util.Map;
-
-import org.apache.cayenne.access.DataContext;
-import org.apache.cayenne.exp.path.CayennePath;
-import org.apache.cayenne.validation.ValidationResult;
-
-/**
- * TODO: check MockPersistentObject..
- */
-public class MockDataObject implements Persistent {
-
-    protected ObjectId objectId;
-    protected int persistenceState;
-    protected DataContext context;
-    protected ObjectContext objectContext;
-
-    public MockDataObject() {
-
-    }
-
-    public MockDataObject(DataContext context, ObjectId id, int 
persistenceState) {
-        this.context = context;
-        this.objectId = id;
-        this.persistenceState = persistenceState;
-    }
-
-    public DataContext getDataContext() {
-        return context;
-    }
-
-    public void setDataContext(DataContext context) {
-        this.context = context;
-    }
-
-    public ObjectId getObjectId() {
-        return objectId;
-    }
-
-    public void setObjectId(ObjectId objectId) {
-        this.objectId = objectId;
-    }
-
-    public int getPersistenceState() {
-        return persistenceState;
-    }
-
-    public void setPersistenceState(int newState) {
-        this.persistenceState = newState;
-    }
-
-    public void writePropertyDirectly(String propertyName, Object val) {
-    }
-
-    public Object readPropertyDirectly(String propertyName) {
-        return null;
-    }
-
-    public Object readNestedProperty(String path) {
-        return null;
-    }
-
-    @Override
-    public Object readNestedProperty(CayennePath path) {
-        return null;
-    }
-
-    public Object readProperty(String propName) {
-        return null;
-    }
-
-    public void writeProperty(String propName, Object val) {
-    }
-
-    public Persistent readToOneDependentTarget(String relName) {
-        return null;
-    }
-
-    public void addToManyTarget(String relName, Persistent val, boolean 
setReverse) {
-    }
-
-    public void removeToManyTarget(String relName, Persistent val, boolean 
setReverse) {
-    }
-
-    public void setToOneTarget(String relName, Persistent val, boolean 
setReverse) {
-    }
-
-    public void setToOneDependentTarget(String relName, Persistent val) {
-    }
-
-    public Map getCommittedSnapshot() {
-        return null;
-    }
-
-    public Map getCurrentSnapshot() {
-        return null;
-    }
-
-    public void fetchFinished() {
-    }
-
-    public long getSnapshotVersion() {
-        return 0;
-    }
-
-    public void setSnapshotVersion(long snapshotVersion) {
-    }
-
-    public void resolveFault() {
-    }
-
-    public void validateForInsert(ValidationResult validationResult) {
-    }
-
-    public void validateForUpdate(ValidationResult validationResult) {
-    }
-
-    public void validateForDelete(ValidationResult validationResult) {
-    }
-
-    public ObjectContext getObjectContext() {
-        return objectContext;
-    }
-
-    public void setObjectContext(ObjectContext objectContext) {
-        this.objectContext = objectContext;
-    }
-}
diff --git a/cayenne/src/test/java/org/apache/cayenne/MockPersistentObject.java 
b/cayenne/src/test/java/org/apache/cayenne/MockPersistentObject.java
index d352e3c61..c5d2cadd7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/MockPersistentObject.java
+++ b/cayenne/src/test/java/org/apache/cayenne/MockPersistentObject.java
@@ -21,8 +21,7 @@ package org.apache.cayenne;
 
 
 /**
- * Concrete ClientDataObject used for unit testing.
- * 
+ * Concrete PersistentObject used for unit testing.
  */
 public class MockPersistentObject extends PersistentObject {
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java 
b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
index d985ededc..85227090d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
@@ -21,7 +21,7 @@ package org.apache.cayenne.access;
 
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.DataRow;
-import org.apache.cayenne.MockDataObject;
+import org.apache.cayenne.MockPersistentObject;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.di.Inject;
@@ -52,19 +52,19 @@ public class ObjectStoreIT extends RuntimeCase {
 
         assertEquals(0, context.getObjectStore().registeredObjectsCount());
 
-        Persistent o1 = new MockDataObject();
+        Persistent o1 = new MockPersistentObject();
         o1.setObjectId(ObjectId.of("T", "key1", "v1"));
         context.getObjectStore().registerNode(o1.getObjectId(), o1);
         assertEquals(1, context.getObjectStore().registeredObjectsCount());
 
         // test object with same id
-        Persistent o2 = new MockDataObject();
+        Persistent o2 = new MockPersistentObject();
         o2.setObjectId(ObjectId.of("T", "key1", "v1"));
         context.getObjectStore().registerNode(o2.getObjectId(), o2);
         assertEquals(1, context.getObjectStore().registeredObjectsCount());
 
         // test new object
-        Persistent o3 = new MockDataObject();
+        Persistent o3 = new MockPersistentObject();
         o3.setObjectId(ObjectId.of("T", "key3", "v3"));
         context.getObjectStore().registerNode(o3.getObjectId(), o3);
         assertEquals(2, context.getObjectStore().registeredObjectsCount());
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
index 6ab8bce59..ed44fd225 100644
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
+++ 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
@@ -130,7 +130,7 @@ name like 'A%'
 ----
 
 
-Parameters. Expressions can contain named parameters (names that start with 
"$") that can be substituted with values either by name or by position. 
Parameterized expressions let you create reusable expression templates. Also, 
if an expression contains a complex object that doesn’t have a simple String 
representation (e.g. a Date, a DataObject, an ObjectId), parameterizing the 
expression is the only way to represent it as String. Here are examples of both 
positional and named parameter bindings:
+Parameters. Expressions can contain named parameters (names that start with 
"$") that can be substituted with values either by name or by position. 
Parameterized expressions let you create reusable expression templates. Also, 
if an expression contains a complex object that doesn’t have a simple String 
representation (e.g. a `Date`, a `Persistent`, an `ObjectId`), parameterizing 
the expression is the only way to represent it as String. Here are examples of 
both positional and named parame [...]
 
 [source, java]
 ----
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/lifecycle.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/lifecycle.adoc
index 92ddae280..74f9511b5 100644
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/lifecycle.adoc
+++ 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/lifecycle.adoc
@@ -64,7 +64,7 @@ Callback methods on Persistent classes are mapped in 
CayenneModeler for each Obj
 
 [source, Java]
 ----
-public abstract class _Order extends CayenneDataObject {
+public abstract class _Order extends PersistentObject {
     protected abstract void onNewOrder();
 }
 
@@ -81,7 +81,7 @@ As `onNewOrder()` is already declared in the mapping, it does 
not need to be reg
 
 As a rule callback methods do not have any knowledge of the outside 
application, and can only access the state of the object itself and possibly 
the state of other persistent objects via object's own ObjectContext.
 
-NOTE: Validation and callbacks: There is a clear overlap in functionality 
between object callbacks and `DataObject.validateForX()` methods. In the future 
validation may be completely superseded by callbacks. It is a good idea to use 
"validateForX" strictly for validation (or not use it at all). Updating the 
state before commit should be done via callbacks.
+NOTE: Validation and callbacks: There is a clear overlap in functionality 
between object callbacks and `PersistentObject.validateForX()` methods. In the 
future validation may be completely superseded by callbacks. It is a good idea 
to use "validateForX" strictly for validation (or not use it at all). Updating 
the state before commit should be done via callbacks.
 
 ==== Callbacks on Non-Persistent Listeners
 
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/objectContext.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/objectContext.adoc
index 6f96447c2..2fe46fa8d 100644
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/objectContext.adoc
+++ 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/objectContext.adoc
@@ -222,16 +222,16 @@ As described in the CayenneModeler chapter, Cayenne 
supports mapping of complete
 
 Generic objects are first-class citizens in Cayenne, and all common persistent 
operations apply to them as well. There are some peculiarities, however, 
described below.
 
-When creating a generic object, either cast your ObjectContext to DataContext 
(that provides `newObject(String)` API), or provide your object with an 
explicit ObjectId:
+When creating a generic object, either cast your ObjectContext to 
`DataContext` (that provides `newObject(String)` API), or provide your object 
with an explicit ObjectId:
 
 [source, java]
 ----
-DataObject generic = (DataObject)context.newObject("GenericEntity");
+Persistent generic = context.newObject("GenericEntity");
 ----
 
 [source, java]
 ----
-DataObject generic = new CayenneDataObject();
+Persistent generic = new GenericPersistentObject();
 generic.setObjectId(ObjectId.of("GenericEntity"));
 context.registerNewObject(generic);
 ----
@@ -240,10 +240,10 @@ ObjectSelect for a generic object should be created by 
passing the entity name S
 
 [source, java]
 ----
-ObjectSelect<DataObject> query = ObjectSelect.query(DataObject.class, 
"GenericEntity");
+ObjectSelect<Persistent> query = ObjectSelect.query(Persistent.class, 
"GenericEntity");
 ----
 
-Use DataObject API to access and modify properties of a generic object:
+Use Persistent API to access and modify properties of a generic object:
 
 [source, java]
 ----
diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/queries/ejbql.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/queries/ejbql.adoc
index c1eb2284c..12aa59f79 100644
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/queries/ejbql.adoc
+++ 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/queries/ejbql.adoc
@@ -60,8 +60,8 @@ checks. However sometimes you may want a completely 
scriptable object query. Thi
 A more practical reason for picking EJBQL over `ObjectSelect` though is that 
the former offers a few extra capabilities,
 such as subqueries.
 
-Just like `ObjectSelect` `EJBQLQuery` can return a List of Object[] elements, 
where each entry in an array is either a
-DataObject or a scalar, depending on the query SELECT clause.
+Just like `ObjectSelect` `EJBQLQuery` can return a `List` of `Object[]` 
elements, where each entry in an array is either a
+`Persistent` or a scalar, depending on the query SELECT clause.
 [source, java]
 ----
 EJBQLQuery query = new EJBQLQuery("select a, COUNT(p) FROM Artist a JOIN 
a.paintings p GROUP BY a");
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/persistent-objects.adoc
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/persistent-objects.adoc
index 9a53847d6..ec26adbde 100644
--- 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/persistent-objects.adoc
+++ 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/persistent-objects.adoc
@@ -16,11 +16,11 @@ In this chapter we'll learn about persistent objects, how 
to customize them and
 create and save them in DB.
 
 ==== Inspecting and Customizing Persistent Objects
-Persistent classes in Cayenne implement a DataObject interface. If you inspect 
any of
+Persistent classes in Cayenne implement a `Persistent` interface. If you 
inspect any of
 the classes generated earlier in this tutorial (e.g.
 `org.example.cayenne.persistent.Artist`), you'll see that it extends a class 
with the name
 that starts with underscore (`org.example.cayenne.persistent.auto._Artist`), 
which in turn
-extends from `org.apache.cayenne.CayenneDataObject`. Splitting each persistent 
class into
+extends from `org.apache.cayenne.PersistentObject`. Splitting each persistent 
class into
 user-customizable subclass (`Xyz`) and a generated superclass (`_Xyz`) is a 
useful technique
 to avoid overwriting the custom code when refreshing classes from the mapping
 model.
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/datamap/SuperclassUpdateController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/datamap/SuperclassUpdateController.java
index 00387f7ea..ec861aac5 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/datamap/SuperclassUpdateController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/datamap/SuperclassUpdateController.java
@@ -47,7 +47,7 @@ public class SuperclassUpdateController extends 
DefaultsPreferencesController {
      */
     public void startupAction() {
         view = new DefaultsPreferencesView(ALL_CONTROL, UNINIT_CONTROL);
-        view.setTitle("Update DataObjects Superclass");
+        view.setTitle("Update Persistent objects Superclass");
         initController();
         
         view.pack();
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java
index 31df21392..604a70a41 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/RawQueryPropertiesPanel.java
@@ -43,7 +43,7 @@ import org.apache.cayenne.query.QueryMetadata;
 
 /**
  * A panel that supports editing the properties a query not based on 
ObjEntity, but still
- * supporting DataObjects retrieval.
+ * supporting Persistent objects retrieval.
  * 
  */
 public abstract class RawQueryPropertiesPanel extends SelectPropertiesPanel {
@@ -79,7 +79,7 @@ public abstract class RawQueryPropertiesPanel extends 
SelectPropertiesPanel {
         builder.add(cacheStrategy, cc.xywh(3, 3, 5, 1));
         cacheGroupsLabel = builder.addLabel("Cache Group:", cc.xy(1, 7));
         builder.add(cacheGroups.getComponent(), cc.xywh(3, 7, 5, 1));
-        builder.addLabel("Fetch Data Objects:", cc.xy(1, 9));
+        builder.addLabel("Fetch Persistent Objects:", cc.xy(1, 9));
         builder.add(dataObjects, cc.xy(3, 9));
         builder.add(entities, cc.xywh(5, 9, 3, 1));
         builder.addLabel("Fetch Offset, Rows:", cc.xy(1, 11));
diff --git 
a/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Artist.java
 
b/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Artist.java
index 5ff782323..cf5abb0a7 100644
--- 
a/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Artist.java
+++ 
b/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Artist.java
@@ -6,7 +6,7 @@ import java.io.ObjectOutputStream;
 import java.time.LocalDate;
 import java.util.List;
 
-import org.apache.cayenne.BaseDataObject;
+import org.apache.cayenne.PersistentObject;
 import org.apache.cayenne.exp.property.DateProperty;
 import org.apache.cayenne.exp.property.ListProperty;
 import org.apache.cayenne.exp.property.PropertyFactory;
@@ -19,7 +19,7 @@ import org.apache.cayenne.tutorial.persistent.Painting;
  * since it may be overwritten next time code is regenerated.
  * If you need to make any customizations, please use subclass.
  */
-public abstract class _Artist extends BaseDataObject {
+public abstract class _Artist extends PersistentObject {
 
     private static final long serialVersionUID = 1L; 
 
diff --git 
a/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Gallery.java
 
b/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Gallery.java
index 0dfd94185..33db5e83c 100644
--- 
a/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Gallery.java
+++ 
b/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Gallery.java
@@ -5,7 +5,7 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.util.List;
 
-import org.apache.cayenne.BaseDataObject;
+import org.apache.cayenne.PersistentObject;
 import org.apache.cayenne.exp.property.ListProperty;
 import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.exp.property.StringProperty;
@@ -17,7 +17,7 @@ import org.apache.cayenne.tutorial.persistent.Painting;
  * since it may be overwritten next time code is regenerated.
  * If you need to make any customizations, please use subclass.
  */
-public abstract class _Gallery extends BaseDataObject {
+public abstract class _Gallery extends PersistentObject {
 
     private static final long serialVersionUID = 1L; 
 
diff --git 
a/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Painting.java
 
b/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Painting.java
index e15e25f83..b7bf19770 100644
--- 
a/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Painting.java
+++ 
b/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/_Painting.java
@@ -4,7 +4,7 @@ import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
-import org.apache.cayenne.BaseDataObject;
+import org.apache.cayenne.PersistentObject;
 import org.apache.cayenne.exp.property.EntityProperty;
 import org.apache.cayenne.exp.property.PropertyFactory;
 import org.apache.cayenne.exp.property.StringProperty;
@@ -17,7 +17,7 @@ import org.apache.cayenne.tutorial.persistent.Gallery;
  * since it may be overwritten next time code is regenerated.
  * If you need to make any customizations, please use subclass.
  */
-public abstract class _Painting extends BaseDataObject {
+public abstract class _Painting extends PersistentObject {
 
     private static final long serialVersionUID = 1L; 
 

Reply via email to