#1298: Rename org.eclipse.persistence.session.Record to avoid collision with java.lang.Record

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/dbws/DBWSModelProject.java b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/dbws/DBWSModelProject.java
index 5133ae7..24b79b6 100644
--- a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/dbws/DBWSModelProject.java
+++ b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/dbws/DBWSModelProject.java
@@ -62,8 +62,8 @@
 import org.eclipse.persistence.oxm.mappings.XMLDirectMapping;
 import org.eclipse.persistence.oxm.mappings.XMLTransformationMapping;
 import org.eclipse.persistence.oxm.record.UnmarshalRecord;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Project;
-import org.eclipse.persistence.sessions.Record;
 import org.eclipse.persistence.sessions.Session;
 import org.xml.sax.Attributes;
 
@@ -308,9 +308,9 @@
         descriptor.getInheritancePolicy().setClassIndicatorField(isColl);
         descriptor.getInheritancePolicy().setClassExtractor(new ClassExtractor() {
             @Override
-            public Class<?> extractClassFromRow(Record record, Session session) {
+            public Class<?> extractClassFromRow(DataRecord dataRecord, Session session) {
                 Class<?> clz = Result.class;
-                UnmarshalRecord uRecord = (UnmarshalRecord)record;
+                UnmarshalRecord uRecord = (UnmarshalRecord) dataRecord;
                 Attributes attrs = uRecord.getAttributes();
                 if (attrs != null) {
                     for (int i = 0, l = attrs.getLength(); i < l; i++) {
diff --git a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/QNameTransformer.java b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/QNameTransformer.java
index 7f02ee8..0fa0877 100644
--- a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/QNameTransformer.java
+++ b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/QNameTransformer.java
@@ -78,7 +78,7 @@
 import org.eclipse.persistence.oxm.NamespaceResolver;
 import org.eclipse.persistence.oxm.XMLDescriptor;
 import org.eclipse.persistence.oxm.record.XMLRecord;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class QNameTransformer implements AttributeTransformer, FieldTransformer {
@@ -131,11 +131,11 @@
   }
 
   @Override
-  public Object buildAttributeValue(Record record, Object object, Session session) {
-      if (null == record) {
+  public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
+      if (null == dataRecord) {
           return null;
       }
-      String value = (String)record.get(xPath);
+      String value = (String) dataRecord.get(xPath);
       if (null == value) {
           return null;
       }
@@ -144,7 +144,7 @@
       if (index > -1) {
           String prefix = value.substring(0, index);
           String localName = value.substring(index + 1);
-          String namespaceURI = ((XMLRecord)record).resolveNamespacePrefix(prefix);
+          String namespaceURI = ((XMLRecord) dataRecord).resolveNamespacePrefix(prefix);
           // check for W3C_XML_SCHEMA_NS_URI - return TL_OX pre-built QName's
           if (W3C_XML_SCHEMA_NS_URI.equals(namespaceURI)) {
               qName = SCHEMA_QNAMES.get(localName);
@@ -160,7 +160,7 @@
           return qName;
       }
       else {
-          String namespaceURI = ((XMLRecord)record)
+          String namespaceURI = ((XMLRecord) dataRecord)
               .resolveNamespacePrefix(DEFAULT_NAMESPACE_PREFIX);
           qName = new QName(namespaceURI, value);
       }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/aggregate/Job.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/aggregate/Job.java
index f4763ad..11701da 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/aggregate/Job.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/aggregate/Job.java
@@ -75,7 +75,7 @@
      * @return java.sql.Time[]
      * @param row org.eclipse.persistence.sessions.DatabaseRecord
      */
-    public Time[] getNormalHoursFromRow(org.eclipse.persistence.sessions.Record row) {
+    public Time[] getNormalHoursFromRow(DataRecord row) {
         Time[] hours = new Time[2];
         hours[0] = (Time)row.get("START_TIME");
         hours[1] = (Time)row.get("END_TIME");
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/employee/domain/Employee.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/employee/domain/Employee.java
index 8ae67c7..c163260 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/employee/domain/Employee.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/employee/domain/Employee.java
@@ -178,7 +178,7 @@
      * IMPORTANT: This method builds the value but does not set it.
      * The mapping will set it using method or direct access as defined in the descriptor.
      */
-    public Time[] buildNormalHours(org.eclipse.persistence.sessions.Record row, Session session) {
+    public Time[] buildNormalHours(DataRecord row, Session session) {
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/events/AboutToInsertEventAdapter.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/events/AboutToInsertEventAdapter.java
index ef83eaa..304c2cb 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/events/AboutToInsertEventAdapter.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/events/AboutToInsertEventAdapter.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.persistence.descriptors.DescriptorEvent;
 import org.eclipse.persistence.descriptors.DescriptorEventAdapter;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.testing.framework.TestErrorException;
 
 /**
@@ -45,7 +45,7 @@
  */
     @Override
     public void aboutToInsert(DescriptorEvent event) {
-        Record row = event.getRecord();
+        DataRecord row = event.getRecord();
         Object value = row.get(newColumn);
         row.put(tableToAddTo + "." + columnToAdd, value);
         // Test that descriptor was set.
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/inheritance/Computer.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/inheritance/Computer.java
index 50752a8..b38fcd6 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/inheritance/Computer.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/inheritance/Computer.java
@@ -18,6 +18,7 @@
 import java.util.Enumeration;
 import org.eclipse.persistence.descriptors.*;
 import org.eclipse.persistence.mappings.*;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.tools.schemaframework.*;
 
 public class Computer implements Serializable {
@@ -114,7 +115,7 @@
         return mainframe;
     }
 
-    public static Class getClassFromRow(org.eclipse.persistence.sessions.Record row) {
+    public static Class getClassFromRow(DataRecord row) {
         if (row.get("CTYPE").equals("PC")) {
             if (row.get("PCTYPE").equals("IBM")) {
                 return org.eclipse.persistence.testing.models.inheritance.IBMPC.class;
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Address.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Address.java
index ff91e39..9dfc38d 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Address.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Address.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -75,7 +75,7 @@
         return province;
     }
 
-    public String getProvinceFromRow(org.eclipse.persistence.sessions.Record row, Session session) {
+    public String getProvinceFromRow(DataRecord row, Session session) {
         String code = (String)row.get("PROVINCE");
         String provinceString = null;
 
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Employee.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Employee.java
index 087e075..5dfcf9f 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Employee.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/mapping/Employee.java
@@ -491,7 +491,7 @@
         return rank;
     }
 
-    public String getRankFromRow(org.eclipse.persistence.sessions.Record row, Session aSession) {
+    public String getRankFromRow(DataRecord row, Session aSession) {
         if (row.get("ERANK") == null) {
             return null;
         }
@@ -557,7 +557,7 @@
         this.computer = computer;
     }
 
-    public java.util.Date setDateAndTime(org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    public java.util.Date setDateAndTime(DataRecord row, org.eclipse.persistence.sessions.Session session) {
         java.sql.Date sqlDateOfBirth = ConversionManager.getDefaultManager().convertObject(row.get("BDAY"), java.sql.Date.class);
         java.sql.Time timeOfBirth = session.getLogin().getPlatform().convertObject(row.get("BTIME"), java.sql.Time.class);
         if ((timeOfBirth == null) || (sqlDateOfBirth == null)) {
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/transparentindirection/AbstractOrder.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/transparentindirection/AbstractOrder.java
index 6e9d66f..844c494 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/transparentindirection/AbstractOrder.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/models/transparentindirection/AbstractOrder.java
@@ -153,13 +153,13 @@
         return (Integer) total.getValue();
     }
 
-    public int getTotalFromRow(org.eclipse.persistence.sessions.Record row, Session session) {
+    public int getTotalFromRow(DataRecord row, Session session) {
         int tens = ((Number)row.get("TOTT")).intValue();
         int ones = ((Number)row.get("TOTO")).intValue();
         return (tens * 10) + ones;
     }
 
-    public int getTotalFromRow2(org.eclipse.persistence.sessions.Record row, Session session) {
+    public int getTotalFromRow2(DataRecord row, Session session) {
         int tens = ((Number)row.get("TOTT2")).intValue();
         int ones = ((Number)row.get("TOTO2")).intValue();
         return (tens * 10) + ones;
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/feature/SequenceFieldRemovalForAcquireValueAfterInsertTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/feature/SequenceFieldRemovalForAcquireValueAfterInsertTest.java
index 2a57220..e1b7689 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/feature/SequenceFieldRemovalForAcquireValueAfterInsertTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/feature/SequenceFieldRemovalForAcquireValueAfterInsertTest.java
@@ -144,7 +144,7 @@
 
         @Override
         public void aboutToInsert(DescriptorEvent event) {
-            org.eclipse.persistence.sessions.Record modifyRow = event.getRecord();
+            DataRecord modifyRow = event.getRecord();
             Object[] keys = modifyRow.keySet().toArray();
             for (int i = 0; i < keys.length; i++) {
                 Object key = keys[i];
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/isolatedsession/IsolatedEmployee.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/isolatedsession/IsolatedEmployee.java
index d4cd001..1c7026d 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/isolatedsession/IsolatedEmployee.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/isolatedsession/IsolatedEmployee.java
@@ -23,6 +23,7 @@
 import java.sql.Time;
 
 import org.eclipse.persistence.indirection.*;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  * <p><b>Purpose</b>: Represent a employee of an organization.
@@ -174,7 +175,7 @@
      *                        The mapping will set it using method or direct access
      *                        as defined in the descriptor.
      */
-    public Time[] buildNormalHours(org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    public Time[] buildNormalHours(DataRecord row, org.eclipse.persistence.sessions.Session session) {
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/nls/japanese/NLSEmployee.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/nls/japanese/NLSEmployee.java
index 9c8c63e..52c383c 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/nls/japanese/NLSEmployee.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/nls/japanese/NLSEmployee.java
@@ -127,7 +127,7 @@
      * IMPORTANT: This method builds the value but does not set it.
      * The mapping will set it using method or direct access as defined in the descriptor.
      */
-    public Time[] buildNormalHours(org.eclipse.persistence.sessions.Record row, Session session) {
+    public Time[] buildNormalHours(DataRecord row, Session session) {
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/ConformResultsRedirectorTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/ConformResultsRedirectorTest.java
index ab3e11d..fc1e96d 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/ConformResultsRedirectorTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/ConformResultsRedirectorTest.java
@@ -18,6 +18,7 @@
 
 import org.eclipse.persistence.queries.*;
 import org.eclipse.persistence.queries.ReadAllQuery;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.UnitOfWork;
 import org.eclipse.persistence.sessions.Session;
 
@@ -66,7 +67,7 @@
     }
 
     @Override
-    public Object invokeQuery(DatabaseQuery query, org.eclipse.persistence.sessions.Record arguments, Session session) {
+    public Object invokeQuery(DatabaseQuery query, DataRecord arguments, Session session) {
         ReadAllQuery conformingQuery = new ReadAllQuery(Address.class);
         conformingQuery.conformResultsInUnitOfWork();
 
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DataReadQueryTest1.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DataReadQueryTest1.java
index e9f9a26..afbc555 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DataReadQueryTest1.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DataReadQueryTest1.java
@@ -72,7 +72,7 @@
 
         stack = (Stack)getSession().executeQuery(query);
         // if we get here, we must not have generated a ClassCastException
-        org.eclipse.persistence.sessions.Record row = (org.eclipse.persistence.sessions.Record)stack.peek();
+        DataRecord row = (DataRecord)stack.peek();
         if (row.get("F_NAME") == null) {
             throw new TestErrorException("missing data");
         }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DoNotRedirectDefaultRedirectorTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DoNotRedirectDefaultRedirectorTest.java
index 9516c4d..d9f39fb 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DoNotRedirectDefaultRedirectorTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/DoNotRedirectDefaultRedirectorTest.java
@@ -63,7 +63,7 @@
      * Below are the methods called by the redirectors for various toplink queries
      */
 
-    public static Object readObject(DatabaseQuery query, org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    public static Object readObject(DatabaseQuery query, DataRecord row, org.eclipse.persistence.sessions.Session session) {
         throw new TestErrorException("Query setting doNotRedirect was ignored");
     }
 
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingByExpressionTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingByExpressionTest.java
index 4887ac5..10024fb 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingByExpressionTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingByExpressionTest.java
@@ -43,7 +43,7 @@
     @Override
     protected void verify() {
         for (int i = 0; i < orderedQueryObjects.size(); i++) {
-            org.eclipse.persistence.sessions.Record row = (org.eclipse.persistence.sessions.Record)customSQLRows.elementAt(i);
+            DataRecord row = (DataRecord)customSQLRows.elementAt(i);
             Employee employee = (Employee)orderedQueryObjects.elementAt(i);
             String city = (String)row.get("CITY");
             String street = (String)row.get("STREET");
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingMutipleTableTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingMutipleTableTest.java
index ce9262a..ce8d021 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingMutipleTableTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingMutipleTableTest.java
@@ -44,12 +44,12 @@
 
     @Override
     protected void verify() {
-        org.eclipse.persistence.sessions.Record row;
+        DataRecord row;
         org.eclipse.persistence.testing.models.employee.domain.Project project;
         String name;
 
         for (int i = 0; i < orderedQueryObjects.size(); i++) {
-            row = (org.eclipse.persistence.sessions.Record)customSQLRows.elementAt(i);
+            row = (DataRecord)customSQLRows.elementAt(i);
             project = (org.eclipse.persistence.testing.models.employee.domain.Project)orderedQueryObjects.elementAt(i);
             name = (String)row.get("PROJ_NAME");
 
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingTest.java
index 59d23bd..a8b1281 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingTest.java
@@ -49,13 +49,13 @@
 
     @Override
     protected void verify() {
-        org.eclipse.persistence.sessions.Record row;
+        DataRecord row;
         Employee employee;
         String firstName;
         String lastName;
 
         for (int i = 0; i < orderedQueryObjects.size(); i++) {
-            row = (org.eclipse.persistence.sessions.Record)customSQLRows.elementAt(i);
+            row = (DataRecord)customSQLRows.elementAt(i);
             employee = (Employee)orderedQueryObjects.elementAt(i);
             firstName = (String)row.get("F_NAME");
             lastName = (String)row.get("L_NAME");
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingWithAnyOfTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingWithAnyOfTest.java
index a6a1978..f2c3602 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingWithAnyOfTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/OrderingWithAnyOfTest.java
@@ -45,7 +45,7 @@
     @Override
     protected void verify() {
         for (int i = 0; i < orderedQueryObjects.size(); i++) {
-            org.eclipse.persistence.sessions.Record row = (org.eclipse.persistence.sessions.Record)customSQLRows.elementAt(i);
+            DataRecord row = (DataRecord)customSQLRows.elementAt(i);
             Employee employee = (Employee)orderedQueryObjects.elementAt(i);
             String city = (String)row.get("CITY");
             String name = (String)row.get("F_NAME");
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/QueryFrameworkTestSuite.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/QueryFrameworkTestSuite.java
index 95581d7..4879a56 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/QueryFrameworkTestSuite.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/QueryFrameworkTestSuite.java
@@ -22,7 +22,7 @@
 import org.eclipse.persistence.sessions.*;
 import org.eclipse.persistence.expressions.*;
 import org.eclipse.persistence.queries.*;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.testing.framework.*;
 import org.eclipse.persistence.testing.tests.clientserver.*;
 import org.eclipse.persistence.tools.schemaframework.PopulationManager;
@@ -438,9 +438,9 @@
                 ExpressionBuilder builder = query.getExpressionBuilder();
                 query.setSelectionCriteria(builder.get("firstName").equal(builder.getParameter("name")));
                 query.addArgument("name");
-                Record record = new DatabaseRecord();
-                record.put("name", "Bob");
-                String sql = query.getTranslatedSQLString(getSession(), record);
+                DataRecord dataRecord = new DatabaseRecord();
+                dataRecord.put("name", "Bob");
+                String sql = query.getTranslatedSQLString(getSession(), dataRecord);
                 if (sql.indexOf("?") != -1) {
                     throwError("SQL was not translated.");
                 }
@@ -663,7 +663,7 @@
         query.addArgument("employee");
         query.setRedirector(new QueryRedirector() {
                 @Override
-                public Object invokeQuery(DatabaseQuery query, org.eclipse.persistence.sessions.Record arguments, org.eclipse.persistence.sessions.Session session) {
+                public Object invokeQuery(DatabaseQuery query, DataRecord arguments, org.eclipse.persistence.sessions.Session session) {
                     return arguments.get("employee");
                 }
             });
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectQueryOnUOWTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectQueryOnUOWTest.java
index 91305fa..5d6c1f3 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectQueryOnUOWTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectQueryOnUOWTest.java
@@ -17,6 +17,7 @@
 import java.util.Vector;
 
 import org.eclipse.persistence.internal.sessions.AbstractSession;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.sessions.UnitOfWork;
 import org.eclipse.persistence.expressions.ExpressionBuilder;
@@ -89,7 +90,7 @@
 
 class StupidRedirector implements QueryRedirector {
     @Override
-    public Object invokeQuery(DatabaseQuery arg0, org.eclipse.persistence.sessions.Record arg1, Session arg2) {
+    public Object invokeQuery(DatabaseQuery arg0, DataRecord arg1, Session arg2) {
         // change code to do the correct class cast.
         // Also for this test case to be relevant a completely different query
         // must be executed.
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectorOnDescriptorTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectorOnDescriptorTest.java
index 7f4fe1f..2d1089c 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectorOnDescriptorTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/queries/RedirectorOnDescriptorTest.java
@@ -163,27 +163,27 @@
      */
     public static
 
-    Object deleteObject(DatabaseQuery query, org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    Object deleteObject(DatabaseQuery query, DataRecord row, org.eclipse.persistence.sessions.Session session) {
         redirectedDeleteObject = true;
         return null;
     }
 
-    public static Object insertObject(DatabaseQuery query, org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    public static Object insertObject(DatabaseQuery query, DataRecord row, org.eclipse.persistence.sessions.Session session) {
         redirectedInsert = true;
         return null;
     }
 
-    public static Object readAll(DatabaseQuery query, org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    public static Object readAll(DatabaseQuery query, DataRecord row, org.eclipse.persistence.sessions.Session session) {
         redirectedReadAll = true;
         return null;
     }
 
-    public static Object readObject(DatabaseQuery query, org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    public static Object readObject(DatabaseQuery query, DataRecord row, org.eclipse.persistence.sessions.Session session) {
         redirectedReadObject = true;
         return null;
     }
 
-    public static Object updateObject(DatabaseQuery query, org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) {
+    public static Object updateObject(DatabaseQuery query, DataRecord row, org.eclipse.persistence.sessions.Session session) {
         redirectedUpdate = true;
         return null;
     }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterForReturningProject.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterForReturningProject.java
index 9664e4f..0257601 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterForReturningProject.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterForReturningProject.java
@@ -211,8 +211,8 @@
     }
 
     @Override
-    protected org.eclipse.persistence.sessions.Record getRowForInsert(org.eclipse.persistence.sessions.Record rowToInsert) {
-        org.eclipse.persistence.sessions.Record row = new DatabaseRecord();
+    protected DataRecord getRowForInsert(DataRecord rowToInsert) {
+        DataRecord row = new DatabaseRecord();
         Enumeration insertFields = insertInfos.keys();
         while (insertFields.hasMoreElements()) {
             DatabaseField field = (DatabaseField)insertFields.nextElement();
@@ -226,8 +226,8 @@
     }
 
     @Override
-    protected org.eclipse.persistence.sessions.Record getRowForUpdate(org.eclipse.persistence.sessions.Record rowChange) {
-        org.eclipse.persistence.sessions.Record row = new DatabaseRecord();
+    protected DataRecord getRowForUpdate(DataRecord rowChange) {
+        DataRecord row = new DatabaseRecord();
         Enumeration updateFields = updateInfos.keys();
         while (updateFields.hasMoreElements()) {
             DatabaseField field = (DatabaseField)updateFields.nextElement();
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterWithReturnObjectControl.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterWithReturnObjectControl.java
index 412efc8..f2d7e2b 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterWithReturnObjectControl.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/AdapterWithReturnObjectControl.java
@@ -42,10 +42,10 @@
     @Override
     public Object getObjectForInsert(Session session, Object objectToInsert) {
         ClassDescriptor desc = session.getClassDescriptor(objectToInsert);
-        org.eclipse.persistence.sessions.Record rowToInsert = desc.getObjectBuilder().buildRow(objectToInsert, (AbstractSession)session, WriteType.INSERT);
-        org.eclipse.persistence.sessions.Record rowReturn = getRowForInsert(rowToInsert);
+        DataRecord rowToInsert = desc.getObjectBuilder().buildRow(objectToInsert, (AbstractSession)session, WriteType.INSERT);
+        DataRecord rowReturn = getRowForInsert(rowToInsert);
         if (rowReturn != null && !rowReturn.isEmpty()) {
-            org.eclipse.persistence.sessions.Record row = new DatabaseRecord(rowToInsert.size());
+            DataRecord row = new DatabaseRecord(rowToInsert.size());
             row.putAll(rowToInsert);
             row.putAll(rowReturn);
             return readObjectFromRow(session, desc, row);
@@ -57,13 +57,13 @@
     @Override
     public Object getObjectForUpdate(Session session, Object objectToUpdateBeforeChange, Object objectToUpdateAfterChange, boolean useUOW) {
         ClassDescriptor desc = session.getClassDescriptor(objectToUpdateBeforeChange);
-        org.eclipse.persistence.sessions.Record rowBeforeChange = desc.getObjectBuilder().buildRow(objectToUpdateBeforeChange, (AbstractSession)session, WriteType.UPDATE);
-        org.eclipse.persistence.sessions.Record rowAfterChange = desc.getObjectBuilder().buildRow(objectToUpdateAfterChange, (AbstractSession)session, WriteType.UPDATE);
-        org.eclipse.persistence.sessions.Record rowChange = new DatabaseRecord();
+        DataRecord rowBeforeChange = desc.getObjectBuilder().buildRow(objectToUpdateBeforeChange, (AbstractSession)session, WriteType.UPDATE);
+        DataRecord rowAfterChange = desc.getObjectBuilder().buildRow(objectToUpdateAfterChange, (AbstractSession)session, WriteType.UPDATE);
+        DataRecord rowChange = new DatabaseRecord();
         getChange(rowChange, session, objectToUpdateBeforeChange, objectToUpdateAfterChange, desc, useUOW, WriteType.UPDATE);
-        org.eclipse.persistence.sessions.Record rowReturn = getRowForUpdate(rowChange);
+        DataRecord rowReturn = getRowForUpdate(rowChange);
         if (rowReturn != null && !rowReturn.isEmpty()) {
-            org.eclipse.persistence.sessions.Record row = new DatabaseRecord(rowAfterChange.size());
+            DataRecord row = new DatabaseRecord(rowAfterChange.size());
             row.putAll(rowAfterChange);
             row.putAll(rowReturn);
             return readObjectFromRow(session, desc, row);
@@ -72,7 +72,7 @@
         }
     }
 
-    public void getChange(org.eclipse.persistence.sessions.Record row, Session session, Object object1, Object object2, ClassDescriptor desc, boolean useUOW, WriteType writeType) {
+    public void getChange(DataRecord row, Session session, Object object1, Object object2, ClassDescriptor desc, boolean useUOW, WriteType writeType) {
         for (Enumeration<DatabaseMapping> mappings = desc.getMappings().elements(); mappings.hasMoreElements(); ) {
             DatabaseMapping mapping = mappings.nextElement();
             if (!mapping.isReadOnly()) {
@@ -81,7 +81,7 @@
         }
     }
 
-    public void getChange(org.eclipse.persistence.sessions.Record row, DatabaseMapping mapping, Session session, Object object1, Object object2, boolean useUOW, WriteType writeType) {
+    public void getChange(DataRecord row, DatabaseMapping mapping, Session session, Object object1, Object object2, boolean useUOW, WriteType writeType) {
         if (mapping.isAggregateObjectMapping()) {
             Object aggregate1 = mapping.getAttributeValueFromObject(object1);
             Object aggregate2 = mapping.getAttributeValueFromObject(object2);
@@ -118,7 +118,7 @@
         }
     }
 
-    protected Object readObjectFromRow(Session session, ClassDescriptor desc, org.eclipse.persistence.sessions.Record row) {
+    protected Object readObjectFromRow(Session session, ClassDescriptor desc, DataRecord row) {
         if (desc.hasInheritance()) {
             Class newClass = desc.getInheritancePolicy().classFromRow((DatabaseRecord)row, (AbstractSession)session);
             desc = session.getClassDescriptor(newClass);
@@ -133,11 +133,11 @@
         return object;
     }
 
-    protected org.eclipse.persistence.sessions.Record getRowForInsert(org.eclipse.persistence.sessions.Record rowToInsert) {
+    protected DataRecord getRowForInsert(DataRecord rowToInsert) {
         return null;
     }
 
-    protected org.eclipse.persistence.sessions.Record getRowForUpdate(org.eclipse.persistence.sessions.Record rowChange) {
+    protected DataRecord getRowForUpdate(DataRecord rowChange) {
         return null;
     }
 }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/BaseClass.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/BaseClass.java
index aa5b87d..bccb069 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/BaseClass.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/returning/model/BaseClass.java
@@ -78,7 +78,7 @@
         }
     }
 
-    public BigDecimal[] build_a_plus_minus_b_BigDecimal(org.eclipse.persistence.sessions.Record row, Session session) {
+    public BigDecimal[] build_a_plus_minus_b_BigDecimal(DataRecord row, Session session) {
         BigDecimal[] a_plus_minus_b_BigDecimal = new BigDecimal[2];
         BigDecimal a = session.getDatasourcePlatform().convertObject(row.get(getFieldAName()), BigDecimal.class);
         BigDecimal b = session.getDatasourcePlatform().convertObject(row.get(getFieldBName()), BigDecimal.class);
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityOnInitializingAttributeMethodTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityOnInitializingAttributeMethodTest.java
index 1f7b813..5ca3e3e 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityOnInitializingAttributeMethodTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityOnInitializingAttributeMethodTest.java
@@ -20,7 +20,7 @@
 import org.eclipse.persistence.exceptions.EclipseLinkException;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.mappings.TransformationMapping;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 //Created by Ian Reid
@@ -68,21 +68,21 @@
     }
 
     static class AttributeMethodOneArg extends AttributeMethod {
-        public Date buildNormalHours(Record record) {
+        public Date buildNormalHours(DataRecord dataRecord) {
             //do nothing security manager will cause error to occur
             return null;
         }
     }
 
     static class AttributeMethodAbstractSession extends AttributeMethod {
-        public Date buildNormalHours(Record record, AbstractSession session) {
+        public Date buildNormalHours(DataRecord dataRecord, AbstractSession session) {
             //do nothing security manager will cause error to occur
             return null;
         }
     }
 
     static class AttributeMethodSession extends AttributeMethod {
-        public Date buildNormalHours(Record record, Session s) {
+        public Date buildNormalHours(DataRecord dataRecord, Session s) {
             //do nothing security manager will cause error to occur
             return null;
         }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityWhileInitializingClassExtractionMethodTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityWhileInitializingClassExtractionMethodTest.java
index 1f20533..8463651 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityWhileInitializingClassExtractionMethodTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/security/SecurityWhileInitializingClassExtractionMethodTest.java
@@ -20,7 +20,7 @@
 import org.eclipse.persistence.exceptions.EclipseLinkException;
 import org.eclipse.persistence.internal.sessions.AbstractRecord;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 //Created by Ian Reid
 //Date: April 25, 2k3
@@ -61,7 +61,7 @@
     }
 
     static class ExtractionRecord {
-        public static void dummy_Method(Record record) {
+        public static void dummy_Method(DataRecord dataRecord) {
         }
     }
 }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/transparentindirection/RemoteDataReadQueryTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/transparentindirection/RemoteDataReadQueryTest.java
index 26fada9..8032872 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/transparentindirection/RemoteDataReadQueryTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/transparentindirection/RemoteDataReadQueryTest.java
@@ -65,7 +65,7 @@
         int count = 0;
         while (stream.hasMoreElements()) {
             count++;
-            org.eclipse.persistence.sessions.Record row = (org.eclipse.persistence.sessions.Record)stream.nextElement();
+            DataRecord row = (DataRecord)stream.nextElement();
             if (row.get("CUSTNAME") == null) {
                 throw new TestErrorException("missing data");
             }
@@ -81,7 +81,7 @@
 
         stack = (Stack)getSession().executeQuery(query);
         // if we get here, we must not have generated a ClassCastException
-        org.eclipse.persistence.sessions.Record row = (org.eclipse.persistence.sessions.Record)stack.peek();
+        DataRecord row = (DataRecord)stack.peek();
         if (row.get("CUSTNAME") == null) {
             throw new TestErrorException("missing data");
         }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/ConcurrentPerson.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/ConcurrentPerson.java
index 7b8b1e3..cc8779a 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/ConcurrentPerson.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/ConcurrentPerson.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -23,7 +23,7 @@
 import org.eclipse.persistence.mappings.OneToOneMapping;
 import org.eclipse.persistence.mappings.DirectToFieldMapping;
 import org.eclipse.persistence.mappings.TransformationMapping;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.tools.schemaframework.TableDefinition;
 
@@ -45,7 +45,7 @@
         phoneNumbers = new ArrayList();
     }
 
-    public BigDecimal calculateLuckyNumber(Record row, Session session) {
+    public BigDecimal calculateLuckyNumber(DataRecord row, Session session) {
         Number code = (Number)row.get("ID");
         return new BigDecimal(code.doubleValue() * 2.435);
     }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/Person.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/Person.java
index 25223bb..c78723f 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/Person.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/unitofwork/Person.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,7 +21,7 @@
 import org.eclipse.persistence.descriptors.RelationalDescriptor;
 import org.eclipse.persistence.mappings.OneToManyMapping;
 import org.eclipse.persistence.mappings.TransformationMapping;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.tools.schemaframework.TableDefinition;
 
@@ -32,7 +32,7 @@
     public BigDecimal id;
     public BigDecimal luckyNumber;
 
-    public BigDecimal calculateLuckyNumber(Record row, Session session) {
+    public BigDecimal calculateLuckyNumber(DataRecord row, Session session) {
         Number code = (Number)row.get("ID");
         return new BigDecimal(code.doubleValue() * 2.435);
     }
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/EmployeeWithProblems.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/EmployeeWithProblems.java
index e36d3ed..a2b1659 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/EmployeeWithProblems.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/EmployeeWithProblems.java
@@ -14,6 +14,8 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.testing.tests.validation;
 
+import org.eclipse.persistence.sessions.DataRecord;
+
 import java.sql.Time;
 
 import java.util.Vector;
@@ -76,7 +78,7 @@
     }
     //this method returns void (instead of Time[]) to produce the error (TL-ERROR 81)
 
-    public void buildNormalHours2(org.eclipse.persistence.sessions.Record row, org.eclipse.persistence.sessions.Session session) { //used in test class org.eclipse.persistence.testing.tests.validation.ReturnTypeInGetAttributeAccessorTest
+    public void buildNormalHours2(DataRecord row, org.eclipse.persistence.sessions.Session session) { //used in test class org.eclipse.persistence.testing.tests.validation.ReturnTypeInGetAttributeAccessorTest
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/IllegalArgumentWhileInvokingAttributeMethodTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/IllegalArgumentWhileInvokingAttributeMethodTest.java
index 5010804..ed72edf 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/IllegalArgumentWhileInvokingAttributeMethodTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/IllegalArgumentWhileInvokingAttributeMethodTest.java
@@ -21,7 +21,7 @@
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.mappings.TransformationMapping;
 import org.eclipse.persistence.sessions.DatabaseRecord;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 
 //Created by Ian Reid
@@ -61,7 +61,7 @@
         }
     }
 
-    public String invalidMethod(Record row) {
+    public String invalidMethod(DataRecord row) {
         return "";
     }
 
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/PersonWithValueHolder.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/PersonWithValueHolder.java
index 79a1a61..ea981b9 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/PersonWithValueHolder.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/PersonWithValueHolder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -24,7 +24,7 @@
 import org.eclipse.persistence.exceptions.DescriptorException;
 import org.eclipse.persistence.indirection.ValueHolder;
 import org.eclipse.persistence.indirection.ValueHolderInterface;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 
@@ -90,14 +90,14 @@
         return phoneNumbers;
     }
 
-    public Time[] buildNormalHours(Record row) {
+    public Time[] buildNormalHours(DataRecord row) {
         Time[] hours = new Time[2];
         // hours[0] = (Time) session.getPlatform().convertObject(row.get("START_TIME"), java.sql.Time.class);
         //hours[1] = (Time) session.getPlatform().convertObject(row.get("END_TIME"), java.sql.Time.class);
         return hours;
     }
 
-    public Time[] buildNormalHoursAgain(Record row, Session session) throws DescriptorException {
+    public Time[] buildNormalHoursAgain(DataRecord row, Session session) throws DescriptorException {
         Time[] hours = new Time[2];
         // hours[0] = (Time) session.getPlatform().convertObject(row.get("START_TIME"), java.sql.Time.class);
         // hours[1] = (Time) session.getPlatform().convertObject(row.get("END_TIME"), java.sql.Time.class);
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingAttributeMethodTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingAttributeMethodTest.java
index 63f138c..bbf552d 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingAttributeMethodTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingAttributeMethodTest.java
@@ -19,8 +19,8 @@
 import org.eclipse.persistence.exceptions.EclipseLinkException;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.mappings.TransformationMapping;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.DatabaseRecord;
-import org.eclipse.persistence.sessions.Record;
 
 
 //Created by Ian Reid
@@ -58,7 +58,7 @@
         }
     }
 
-    public String invalidMethod(Record row) throws java.lang.IllegalAccessException {
+    public String invalidMethod(DataRecord row) throws java.lang.IllegalAccessException {
         throw new IllegalAccessException();
     }
 
diff --git a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingRowExtractionMethodTest.java b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingRowExtractionMethodTest.java
index a2f3eaf..ba5f20a 100644
--- a/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingRowExtractionMethodTest.java
+++ b/foundation/eclipselink.core.test/src/it/java/org/eclipse/persistence/testing/tests/validation/TargetInvocationWhileInvokingRowExtractionMethodTest.java
@@ -19,8 +19,8 @@
 import org.eclipse.persistence.exceptions.DescriptorException;
 import org.eclipse.persistence.exceptions.EclipseLinkException;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.DatabaseRecord;
-import org.eclipse.persistence.sessions.Record;
 
 
 //Created by Ian Reid
@@ -48,7 +48,7 @@
         policy.preInitialize((AbstractSession)getSession());
 
         row = new DatabaseRecord();
-        Class[] parmClasses = { Record.class };
+        Class[] parmClasses = { DataRecord.class };
 
 
         expectedException = DescriptorException.targetInvocationWhileInvokingRowExtractionMethod(row, TargetInvocationWhileInvokingRowExtractionMethodTest.class.getDeclaredMethod("invalidMethod", parmClasses), descriptor, new Exception());
@@ -63,7 +63,7 @@
         }
     }
 
-    public static void invalidMethod(Record row) throws java.lang.IllegalAccessException {
+    public static void invalidMethod(DataRecord row) throws java.lang.IllegalAccessException {
         throw new IllegalAccessException();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java
index 6608228..b4f2c2c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java
@@ -27,6 +27,7 @@
 
 import org.eclipse.persistence.annotations.BatchFetch;
 import org.eclipse.persistence.annotations.BatchFetchType;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  * The class defines EclipseLink query hints.
@@ -839,7 +840,7 @@
      * <p>It can also be used to return a single column, or single value.
      * Valid values are defined in ResultType.
      * @see ResultType
-     * @see org.eclipse.persistence.sessions.Record
+     * @see DataRecord
      * @see org.eclipse.persistence.sessions.DatabaseRecord
      * @see org.eclipse.persistence.queries.ReportQueryResult
      * @see org.eclipse.persistence.queries.ReportQuery#setReturnType(int)
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultType.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultType.java
index 793aa98..4b4e77f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultType.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,6 +14,8 @@
 //     James Sutherland - initial impl
 package org.eclipse.persistence.config;
 
+import org.eclipse.persistence.sessions.DataRecord;
+
 /**
  * Result type hint values.
  *
@@ -35,7 +37,7 @@
  * "" could be used instead of default value ResultType.Array.
  *
  * @see QueryHints#RESULT_TYPE
- * @see org.eclipse.persistence.sessions.Record
+ * @see DataRecord
  * @see org.eclipse.persistence.sessions.DatabaseRecord
  * @see org.eclipse.persistence.queries.ReportQueryResult
  * @see org.eclipse.persistence.queries.ReportQuery#setReturnType(int)
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassExtractor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassExtractor.java
index 7809104..900e1db 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassExtractor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassExtractor.java
@@ -32,7 +32,7 @@
      * Map is used as the public interface to database row, the key is the field name,
      * the value is the database value.
      */
-    public abstract <T> Class<T> extractClassFromRow(org.eclipse.persistence.sessions.Record databaseRow, Session session);
+    public abstract <T> Class<T> extractClassFromRow(DataRecord databaseRow, Session session);
 
     /**
      * Allow for any initialization.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEvent.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEvent.java
index 61c7bf6..bc19236 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEvent.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,7 +21,7 @@
 import org.eclipse.persistence.exceptions.ValidationException;
 import org.eclipse.persistence.exceptions.DescriptorException;
 import org.eclipse.persistence.queries.*;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.internal.sessions.*;
 
 /**
@@ -48,7 +48,7 @@
     protected DatabaseQuery query;
 
     /** Optionally a database row may be provided on some events, (such as aboutToUpdate). */
-    protected Record record;
+    protected DataRecord dataRecord;
     protected ClassDescriptor descriptor;
 
     /**
@@ -195,8 +195,8 @@
      * Return the record that is associated with some events,
      * such as postBuild, and aboutToUpdate.
      */
-    public Record getRecord() {
-        return record;
+    public DataRecord getRecord() {
+        return dataRecord;
     }
 
     /**
@@ -253,8 +253,8 @@
      * INTERNAL:
      * Optionally a database row may be provided on some events, (such as aboutToUpdate).
      */
-    public void setRecord(Record record) {
-        this.record = record;
+    public void setRecord(DataRecord dataRecord) {
+        this.dataRecord = dataRecord;
     }
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/MethodClassExtractor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/MethodClassExtractor.java
index 6cb0992..d44baa5 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/MethodClassExtractor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/MethodClassExtractor.java
@@ -21,8 +21,8 @@
 import org.eclipse.persistence.internal.helper.*;
 import org.eclipse.persistence.exceptions.*;
 import org.eclipse.persistence.internal.sessions.AbstractRecord;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
-import org.eclipse.persistence.sessions.Record;
 import org.eclipse.persistence.internal.security.*;
 
 /**
@@ -124,7 +124,7 @@
      */
     @Override
     @SuppressWarnings({"unchecked"})
-    public <T> Class<T> extractClassFromRow(Record row, org.eclipse.persistence.sessions.Session session) {
+    public <T> Class<T> extractClassFromRow(DataRecord row, org.eclipse.persistence.sessions.Session session) {
         Class<?> classForRow;
         try {
             Object[] arguments = new Object[1];
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java
index 6777ec5..3c4f33d 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java
@@ -17,7 +17,7 @@
 import org.eclipse.persistence.descriptors.ClassDescriptor;
 import org.eclipse.persistence.exceptions.DescriptorException;
 import org.eclipse.persistence.queries.ObjectBuildingQuery;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.sessions.UnitOfWork;
 
@@ -49,7 +49,7 @@
      * By default create a new instance.
      */
     @Override
-    public Object buildWorkingCopyCloneFromRow(Record row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow) throws DescriptorException {
+    public Object buildWorkingCopyCloneFromRow(DataRecord row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow) throws DescriptorException {
         return this.descriptor.getObjectBuilder().buildNewInstance();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CloneCopyPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CloneCopyPolicy.java
index f1d9a7e..cf23711 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CloneCopyPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CloneCopyPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -122,7 +122,7 @@
      * Create a new instance, unless a workingCopyClone method is specified, then build a new instance and clone it.
      */
     @Override
-    public Object buildWorkingCopyCloneFromRow(org.eclipse.persistence.sessions.Record row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow) throws DescriptorException {
+    public Object buildWorkingCopyCloneFromRow(DataRecord row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow) throws DescriptorException {
         // For now must preserve CMP code which builds heavy clones with a context.
         // Also preserve for clients who use the copy policy.
         ObjectBuilder builder = getDescriptor().getObjectBuilder();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CopyPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CopyPolicy.java
index e2103e7..c2ca22a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CopyPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/CopyPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -51,7 +51,7 @@
     /**
      * Return an instance with the primary key set from the row, used for building a working copy during a unit of work transactional read.
      */
-    Object buildWorkingCopyCloneFromRow(org.eclipse.persistence.sessions.Record row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow) throws DescriptorException;
+    Object buildWorkingCopyCloneFromRow(DataRecord row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow) throws DescriptorException;
 
     /**
      * Clone the CopyPolicy.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/DatabaseException.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/DatabaseException.java
index 3c5f73e..8a576eb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/DatabaseException.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/DatabaseException.java
@@ -21,7 +21,7 @@
 import org.eclipse.persistence.internal.sessions.AbstractRecord;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.exceptions.i18n.ExceptionMessageGenerator;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  * <P><B>Purpose</B>:
@@ -264,7 +264,7 @@
      * PUBLIC:
      * Return the query arguments used in the original query when exception is thrown
      */
-    public Record getQueryArgumentsRecord() {
+    public DataRecord getQueryArgumentsRecord() {
         return queryArguments;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/QueryException.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/QueryException.java
index caadcbf..98c4e50 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/QueryException.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/QueryException.java
@@ -36,7 +36,7 @@
 import org.eclipse.persistence.mappings.querykeys.ManyToManyQueryKey;
 import org.eclipse.persistence.internal.helper.*;
 import org.eclipse.persistence.exceptions.i18n.ExceptionMessageGenerator;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  * <p><b>Purpose</b>: This exception is used for any problem that is detected with a query.
@@ -562,7 +562,7 @@
      * PUBLIC:
      * Return the query argements used in the original query when exception is thrown
      */
-    public Record getQueryArgumentsRecord() {
+    public DataRecord getQueryArgumentsRecord() {
         return queryArguments;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ClassConstants.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ClassConstants.java
index 9ed25c1..9990569 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ClassConstants.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ClassConstants.java
@@ -57,6 +57,7 @@
 import org.eclipse.persistence.queries.DatabaseQuery;
 import org.eclipse.persistence.queries.FetchGroupTracker;
 import org.eclipse.persistence.queries.ScrollableCursor;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.DirectConnector;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.sessions.server.ServerSession;
@@ -114,7 +115,7 @@
     public static final Class<AbstractSession> PublicInterfaceSession_Class = AbstractSession.class;
     public static final Class<QueryKey> QueryKey_Class = QueryKey.class;
     public static final Class<RelationExpression> RelationExpression_Class = RelationExpression.class;
-    public static final Class<org.eclipse.persistence.sessions.Record> Record_Class = org.eclipse.persistence.sessions.Record.class;
+    public static final Class<DataRecord> Record_Class = DataRecord.class;
     public static final Class<ServerSession> ServerSession_Class = ServerSession.class;
     public static final Class<Session> SessionsSession_Class = Session.class;
     public static final Class<ScrollableCursor> ScrollableCursor_Class = ScrollableCursor.class;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/CacheKey.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/CacheKey.java
index 8e7c76b..74c4cfe 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/CacheKey.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/CacheKey.java
@@ -18,8 +18,8 @@
 import org.eclipse.persistence.internal.helper.*;
 import org.eclipse.persistence.internal.sessions.AbstractRecord;
 import org.eclipse.persistence.queries.ObjectBuildingQuery;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.DatabaseRecord;
-import org.eclipse.persistence.sessions.Record;
 
 /**
  * <p><b>Purpose</b>: Container class for storing objects in an IdentityMap.
@@ -53,7 +53,7 @@
     protected Object wrapper;
 
     /** This is used for Document Preservation to cache the record that this object was built from */
-    protected Record record;
+    protected DataRecord dataRecord;
 
     /** This attribute is the system time in milli seconds that the object was last refreshed on */
 
@@ -395,8 +395,8 @@
         return readTime;
     }
 
-    public Record getRecord() {
-        return record;
+    public DataRecord getRecord() {
+        return dataRecord;
     }
 
     public Object getWrapper() {
@@ -558,8 +558,8 @@
         invalidationState = CHECK_INVALIDATION_POLICY;
     }
 
-    public void setRecord(Record newRecord) {
-        this.record = newRecord;
+    public void setRecord(DataRecord newDataRecord) {
+        this.dataRecord = newDataRecord;
     }
 
     public void setWrapper(Object wrapper) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/IdentityMapManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/IdentityMapManager.java
index 9c3ee20..677e2ae 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/IdentityMapManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/IdentityMapManager.java
@@ -65,7 +65,7 @@
 import org.eclipse.persistence.queries.InMemoryQueryIndirectionPolicy;
 import org.eclipse.persistence.queries.ObjectLevelReadQuery;
 import org.eclipse.persistence.queries.ReadQuery;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.SessionProfiler;
 import org.eclipse.persistence.sessions.interceptors.CacheInterceptor;
 
@@ -529,7 +529,7 @@
     /**
      * Query the cache in-memory.
      */
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) {
         ClassDescriptor descriptor = this.session.getDescriptor(theClass);
         this.session.startOperationProfile(SessionProfiler.Caching);
         Vector objects = null;
@@ -623,7 +623,7 @@
     /**
      * Invalidate objects meeting selectionCriteria.
      */
-    public void invalidateObjects(Expression selectionCriteria, Class theClass, Record translationRow, boolean shouldInvalidateOnException) {
+    public void invalidateObjects(Expression selectionCriteria, Class theClass, DataRecord translationRow, boolean shouldInvalidateOnException) {
         ClassDescriptor descriptor = this.session.getDescriptor(theClass);
         this.session.startOperationProfile(SessionProfiler.Caching);
         try {
@@ -846,7 +846,7 @@
         return domainObject;
     }
 
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor) {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor) {
         UnitOfWorkImpl unitOfWork = (conforming) ? (UnitOfWorkImpl)this.session : null;
         this.session.startOperationProfile(SessionProfiler.Caching);
         try {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java
index 0d02c26..c0a345d 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java
@@ -20,7 +20,7 @@
 import org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord;
 import org.eclipse.persistence.internal.helper.*;
 import org.eclipse.persistence.exceptions.*;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.internal.helper.DatabaseField;
 
 /**
@@ -34,7 +34,7 @@
  * </ul>
  * @see DatabaseField
  */
-public abstract class AbstractRecord extends CoreAbstractRecord implements Record, Cloneable, Serializable, Map {
+public abstract class AbstractRecord extends CoreAbstractRecord implements DataRecord, Cloneable, Serializable, Map {
 
     /** Use vector to store the fields/values for optimal performance.*/
     protected Vector<DatabaseField> fields;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IdentityMapAccessor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IdentityMapAccessor.java
index ee67e99..9cc2189 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IdentityMapAccessor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IdentityMapAccessor.java
@@ -39,8 +39,8 @@
 import org.eclipse.persistence.logging.SessionLog;
 import org.eclipse.persistence.queries.InMemoryQueryIndirectionPolicy;
 import org.eclipse.persistence.queries.ReadQuery;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.DatabaseRecord;
-import org.eclipse.persistence.sessions.Record;
 import org.eclipse.persistence.sessions.coordination.CommandManager;
 import org.eclipse.persistence.sessions.coordination.MergeChangeSetCommand;
 
@@ -228,7 +228,7 @@
      * Return if their is an object for the row containing primary key and the class.
      */
     @Override
-    public boolean containsObjectInIdentityMap(Record rowContainingPrimaryKey, Class theClass) {
+    public boolean containsObjectInIdentityMap(DataRecord rowContainingPrimaryKey, Class theClass) {
         return containsObjectInIdentityMap(extractPrimaryKeyFromRow(rowContainingPrimaryKey, theClass), theClass);
     }
 
@@ -236,7 +236,7 @@
      * INTERNAL:
      * Extract primary key from a row.
      */
-    protected Object extractPrimaryKeyFromRow(Record rowContainingPrimaryKey, Class theClass) {
+    protected Object extractPrimaryKeyFromRow(DataRecord rowContainingPrimaryKey, Class theClass) {
         return this.session.getDescriptor(theClass).getObjectBuilder().extractPrimaryKeyFromRow((AbstractRecord)rowContainingPrimaryKey, this.session);
     }
 
@@ -262,7 +262,7 @@
      * Query the cache in-memory.
      * If the expression is too complex an exception will be thrown.
      */
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow) throws QueryException {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow) throws QueryException {
         return getAllFromIdentityMap(selectionCriteria, theClass, translationRow, InMemoryQueryIndirectionPolicy.SHOULD_THROW_INDIRECTION_EXCEPTION, true);
     }
 
@@ -272,7 +272,7 @@
      * If the expression is too complex an exception will be thrown.
      */
     @Override
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException {
         return getAllFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, true);
     }
 
@@ -282,7 +282,7 @@
      * If the expression is too complex an exception will be thrown.
      */
     @Override
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy) throws QueryException {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy) throws QueryException {
         return getAllFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, true);
     }
 
@@ -293,7 +293,7 @@
      * Only return objects that are invalid in the cache if specified.
      */
     @Override
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
         int policy = 0;
         if (valueHolderPolicy != null) {
             policy = valueHolderPolicy.getPolicy();
@@ -308,7 +308,7 @@
      * Only return objects that are invalid in the cache if specified.
      */
     @Override
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
         return getIdentityMapManager().getAllFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, shouldReturnInvalidatedObjects);
     }
 
@@ -433,7 +433,7 @@
      * Return the object from the identity with the primary and class.
      */
     @Override
-    public Object getFromIdentityMap(Record rowContainingPrimaryKey, Class theClass) {
+    public Object getFromIdentityMap(DataRecord rowContainingPrimaryKey, Class theClass) {
         return getFromIdentityMap(extractPrimaryKeyFromRow(rowContainingPrimaryKey, theClass), theClass);
     }
 
@@ -443,7 +443,7 @@
      * Only return invalidated objects if requested.
      */
     @Override
-    public Object getFromIdentityMap(Record rowContainingPrimaryKey, Class theClass, boolean shouldReturnInvalidatedObjects) {
+    public Object getFromIdentityMap(DataRecord rowContainingPrimaryKey, Class theClass, boolean shouldReturnInvalidatedObjects) {
         return getFromIdentityMap(extractPrimaryKeyFromRow(rowContainingPrimaryKey, theClass), theClass, shouldReturnInvalidatedObjects);
     }
 
@@ -454,7 +454,7 @@
      * If the expression is too complex an exception will be thrown.
      */
     @Override
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow) throws QueryException {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow) throws QueryException {
         return getFromIdentityMap(selectionCriteria, theClass, translationRow, InMemoryQueryIndirectionPolicy.SHOULD_THROW_INDIRECTION_EXCEPTION);
     }
 
@@ -465,7 +465,7 @@
      * If the expression is too complex an exception will be thrown.
      */
     @Override
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException {
         int policy = 0;
         if (valueHolderPolicy != null) {
             policy = valueHolderPolicy.getPolicy();
@@ -480,7 +480,7 @@
      * If the expression is too complex an exception will be thrown.
      */
     @Override
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy) throws QueryException {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy) throws QueryException {
         return getFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, false);
     }
 
@@ -490,7 +490,7 @@
      * If the object is not found null is returned.
      * If the expression is too complex an exception will be thrown.
      */
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean conforming) {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean conforming) {
         return getFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, conforming, true, getSession().getDescriptor(theClass));
     }
 
@@ -500,7 +500,7 @@
      * If the object is not found null is returned.
      * If the expression is too complex an exception will be thrown.
      */
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects) {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects) {
         return getFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, conforming, shouldReturnInvalidatedObjects, getSession().getDescriptor(theClass));
     }
 
@@ -510,7 +510,7 @@
      * If the object is not found null is returned.
      * If the expression is too complex an exception will be thrown.
      */
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor) {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor) {
         return getIdentityMapManager().getFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, conforming, shouldReturnInvalidatedObjects, descriptor);
     }
 
@@ -767,7 +767,7 @@
      * without any action.
      */
     @Override
-    public void invalidateObject(Record rowContainingPrimaryKey, Class theClass) {
+    public void invalidateObject(DataRecord rowContainingPrimaryKey, Class theClass) {
         invalidateObject(rowContainingPrimaryKey, theClass, false);
     }
 
@@ -777,7 +777,7 @@
      * @param invalidateCluster if true the invalidation will be broadcast to each server in the cluster.
      */
     @Override
-    public void invalidateObject(Record rowContainingPrimaryKey, Class theClass, boolean invalidateCluster) {
+    public void invalidateObject(DataRecord rowContainingPrimaryKey, Class theClass, boolean invalidateCluster) {
         invalidateObject(extractPrimaryKeyFromRow(rowContainingPrimaryKey, theClass), theClass, invalidateCluster);
     }
 
@@ -800,7 +800,7 @@
      * @param shouldInvalidateOnException boolean indicates weather to invalidate the object if conform threw exception.
      */
     @Override
-    public void invalidateObjects(Expression selectionCriteria, Class theClass, Record translationRow, boolean shouldInvalidateOnException) {
+    public void invalidateObjects(Expression selectionCriteria, Class theClass, DataRecord translationRow, boolean shouldInvalidateOnException) {
         getIdentityMapManager().invalidateObjects(selectionCriteria, theClass, translationRow, shouldInvalidateOnException);
     }
 
@@ -921,7 +921,7 @@
      * Return if this object is valid in the cache.
      */
     @Override
-    public boolean isValid(Record rowContainingPrimaryKey, Class theClass) {
+    public boolean isValid(DataRecord rowContainingPrimaryKey, Class theClass) {
         return isValid(extractPrimaryKeyFromRow(rowContainingPrimaryKey, theClass), theClass);
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSessionIdentityMapAccessor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSessionIdentityMapAccessor.java
index 49fc5df..26cdcf0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSessionIdentityMapAccessor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSessionIdentityMapAccessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -20,10 +20,9 @@
 import org.eclipse.persistence.queries.*;
 import org.eclipse.persistence.expressions.*;
 import org.eclipse.persistence.exceptions.*;
-import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.descriptors.CacheIndex;
 import org.eclipse.persistence.descriptors.ClassDescriptor;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.logging.SessionLog;
 import org.eclipse.persistence.internal.descriptors.ObjectBuilder;
 import org.eclipse.persistence.internal.descriptors.PersistenceEntity;
@@ -185,7 +184,7 @@
      * Only return objects that are invalid in the cache if specified.
      */
     @Override
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
         if (!session.getDescriptor(theClass).getCachePolicy().isSharedIsolation()) {
             return getIdentityMapManager().getAllFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, shouldReturnInvalidatedObjects);
         } else {
@@ -380,7 +379,7 @@
      * If the expression is too complex an exception will be thrown.
      */
     @Override
-    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor) {
+    public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor) {
         if (!descriptor.getCachePolicy().isSharedIsolation()) {
             return getIdentityMapManager().getFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, conforming, shouldReturnInvalidatedObjects, descriptor);
         } else {
@@ -662,7 +661,7 @@
      * @param shouldInvalidateOnException boolean indicates weather to invalidate the object if conform threw exception.
      */
     @Override
-    public void invalidateObjects(Expression selectionCriteria, Class theClass, Record translationRow, boolean shouldInvalidateOnException) {
+    public void invalidateObjects(Expression selectionCriteria, Class theClass, DataRecord translationRow, boolean shouldInvalidateOnException) {
         if (!session.getDescriptor(theClass).getCachePolicy().isSharedIsolation()) {
             getIdentityMapManager().invalidateObjects(selectionCriteria, theClass, translationRow, shouldInvalidateOnException);
         } else {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/TransformationMappingChangeRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/TransformationMappingChangeRecord.java
index 33225c9..7620a68 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/TransformationMappingChangeRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/TransformationMappingChangeRecord.java
@@ -14,8 +14,8 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.internal.sessions;
 
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.DatabaseRecord;
-import org.eclipse.persistence.sessions.Record;
 
 /**
  * <p>
@@ -47,7 +47,7 @@
      * This method is used to access the changes of the fields in a transformation mapping.
      */
     @Override
-    public Record getRecord() {
+    public DataRecord getRecord() {
         if (rowCollection == null) {
             this.rowCollection = new DatabaseRecord();
         }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkIdentityMapAccessor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkIdentityMapAccessor.java
index 915bff1..75ef304 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkIdentityMapAccessor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkIdentityMapAccessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -19,11 +19,10 @@
 import org.eclipse.persistence.descriptors.ClassDescriptor;
 import org.eclipse.persistence.internal.descriptors.PersistenceEntity;
 import org.eclipse.persistence.internal.identitymaps.*;
-import org.eclipse.persistence.internal.sessions.IdentityMapAccessor;
 import org.eclipse.persistence.expressions.*;
 import org.eclipse.persistence.exceptions.*;
 import org.eclipse.persistence.queries.*;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  * INTERNAL:
@@ -103,7 +102,7 @@
      * will always be returned from a UnitOfWork.
      */
     @Override
-    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
+    public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException {
         return super.getAllFromIdentityMap(selectionCriteria, theClass, translationRow, valueHolderPolicy, true);
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformer.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformer.java
index c83cda9..21fd799 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformer.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,7 +16,7 @@
 
 import java.io.*;
 import org.eclipse.persistence.sessions.Session;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 
 /**
@@ -36,10 +36,10 @@
     void initialize(AbstractTransformationMapping mapping);
 
     /**
-     * @param record - The metadata being used to build the object.
+     * @param dataRecord - The metadata being used to build the object.
      * @param session - the current session
      * @param object - The current object that the attribute is being built for.
      * @return - The attribute value to be built into the object containing this mapping.
      */
-    Object buildAttributeValue(Record record, Object object, Session session);
+    Object buildAttributeValue(DataRecord dataRecord, Object object, Session session);
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java
index 1769e4e..be7d954 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java
@@ -14,7 +14,7 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.mappings.transformers;
 
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 
@@ -40,7 +40,7 @@
     }
 
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
         return null;
     }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/MethodBasedAttributeTransformer.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/MethodBasedAttributeTransformer.java
index 588a52b..f287398 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/MethodBasedAttributeTransformer.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/MethodBasedAttributeTransformer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -26,7 +26,7 @@
 import org.eclipse.persistence.internal.security.PrivilegedGetMethodParameterTypes;
 import org.eclipse.persistence.internal.security.PrivilegedMethodInvoker;
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 /**
@@ -114,7 +114,7 @@
      * Build the attribute value by invoking the user's transformation method.
      */
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
         Class[] parameterTypes = null;
         if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){
             try{
@@ -126,7 +126,7 @@
             parameterTypes = PrivilegedAccessHelper.getMethodParameterTypes(attributeTransformationMethod);
         }
         Object[] parameters = new Object[parameterTypes.length];
-        parameters[0] = record;
+        parameters[0] = dataRecord;
         if (parameters.length == 2) {
             parameters[1] = session;
         }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java
index be9184d..4ae07cc 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java
@@ -56,9 +56,9 @@
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.internal.sessions.UnitOfWorkImpl;
 import org.eclipse.persistence.mappings.DatabaseMapping;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.remote.*;
 import org.eclipse.persistence.sessions.DatabaseRecord;
-import org.eclipse.persistence.sessions.Record;
 import org.eclipse.persistence.sessions.SessionProfiler;
 
 /**
@@ -1073,7 +1073,7 @@
      * ADVANCED: Return the call for this query. This call contains the SQL and
      * argument list.
      *
-     * @see #prepareCall(org.eclipse.persistence.sessions.Session, org.eclipse.persistence.sessions.Record) prepareCall(Session, Record)
+     * @see #prepareCall(org.eclipse.persistence.sessions.Session, DataRecord) prepareCall(Session, Record)
      */
     public Call getDatasourceCall() {
         Call call = null;
@@ -1095,7 +1095,7 @@
      * ADVANCED: Return the calls for this query. This method can be called for
      * queries with multiple calls This call contains the SQL and argument list.
      *
-     * @see #prepareCall(org.eclipse.persistence.sessions.Session, org.eclipse.persistence.sessions.Record) prepareCall(Session, Record)
+     * @see #prepareCall(org.eclipse.persistence.sessions.Session, DataRecord) prepareCall(Session, Record)
      */
     public List getDatasourceCalls() {
         List calls = new Vector();
@@ -1433,7 +1433,7 @@
      * queries. This can also be used for normal queries if they have been
      * prepared, (i.e. query.prepareCall()).
      *
-     * @see #prepareCall(org.eclipse.persistence.sessions.Session, org.eclipse.persistence.sessions.Record) prepareCall(Session, Record)
+     * @see #prepareCall(org.eclipse.persistence.sessions.Session, DataRecord) prepareCall(Session, Record)
      */
     public String getSQLString() {
         Call call = getDatasourceCall();
@@ -1453,7 +1453,7 @@
      * for normal queries if they have been prepared, (i.e.
      * query.prepareCall()).
      *
-     * @see #prepareCall(org.eclipse.persistence.sessions.Session, org.eclipse.persistence.sessions.Record) prepareCall(Session, Record)
+     * @see #prepareCall(org.eclipse.persistence.sessions.Session, DataRecord) prepareCall(Session, Record)
      */
     public List getSQLStrings() {
         List calls = getDatasourceCalls();
@@ -1492,9 +1492,9 @@
      * have been prepared, (i.e. query.prepareCall()). The Record argument is
      * one of (Record, XMLRecord) that contains the query arguments.
      *
-     * @see #prepareCall(org.eclipse.persistence.sessions.Session, Record)
+     * @see #prepareCall(org.eclipse.persistence.sessions.Session, DataRecord)
      */
-    public String getTranslatedSQLString(org.eclipse.persistence.sessions.Session session, Record translationRow) {
+    public String getTranslatedSQLString(org.eclipse.persistence.sessions.Session session, DataRecord translationRow) {
         prepareCall(session, translationRow);
         // CR#2859559 fix to use Session and Record interfaces not impl classes.
         CallQueryMechanism queryMechanism = (CallQueryMechanism) getQueryMechanism();
@@ -1512,9 +1512,9 @@
      * have been prepared, (i.e. query.prepareCall()). This method can be used
      * for queries with multiple calls.
      *
-     * @see #prepareCall(org.eclipse.persistence.sessions.Session, org.eclipse.persistence.sessions.Record) prepareCall(Session, Record)
+     * @see #prepareCall(org.eclipse.persistence.sessions.Session, DataRecord) prepareCall(Session, Record)
      */
-    public List getTranslatedSQLStrings(org.eclipse.persistence.sessions.Session session, Record translationRow) {
+    public List getTranslatedSQLStrings(org.eclipse.persistence.sessions.Session session, DataRecord translationRow) {
         prepareCall(session, translationRow);
         CallQueryMechanism queryMechanism = (CallQueryMechanism) getQueryMechanism();
         if ((queryMechanism.getCalls() == null) || queryMechanism.getCalls().isEmpty()) {
@@ -1922,9 +1922,9 @@
      * @see #getCall()
      * @see #getSQLString()
      * @see #getTranslatedSQLString(org.eclipse.persistence.sessions.Session,
-     *      Record)
+     *      DataRecord)
      */
-    public void prepareCall(org.eclipse.persistence.sessions.Session session, Record translationRow) throws QueryException {
+    public void prepareCall(org.eclipse.persistence.sessions.Session session, DataRecord translationRow) throws QueryException {
         // CR#2859559 fix to use Session and Record interfaces not impl classes.
         checkPrepare((AbstractSession) session, (AbstractRecord) translationRow, true);
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/MethodBaseQueryRedirector.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/MethodBaseQueryRedirector.java
index a292746..24acbd9 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/MethodBaseQueryRedirector.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/MethodBaseQueryRedirector.java
@@ -197,7 +197,7 @@
      * Call the static method to execute the query.
      */
     @Override
-    public Object invokeQuery(DatabaseQuery query, org.eclipse.persistence.sessions.Record arguments, Session session) {
+    public Object invokeQuery(DatabaseQuery query, DataRecord arguments, Session session) {
         if (getMethod() == null) {
             initializeMethod(query);
         }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirector.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirector.java
index a48332d..14919ae 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirector.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -48,5 +48,5 @@
      * Perform the query.
      * This must execute the query base on the arguments and return a valid result for the query.
      */
-    Object invokeQuery(DatabaseQuery query, org.eclipse.persistence.sessions.Record arguments, Session session);
+    Object invokeQuery(DatabaseQuery query, DataRecord arguments, Session session);
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java
index f8a97fb..614c706 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.persistence.internal.sessions.AbstractRecord;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 /**
@@ -40,8 +40,8 @@
      * in this case the cache check has also been redirected.  Through this method the redirector can have
      * EclipseLink check the cache in the normal manner.
      */
-    public static Object checkEclipseLinkCache(DatabaseQuery query, Record record, Session session){
-        return query.checkEarlyReturn((AbstractSession)session, (AbstractRecord)record);
+    public static Object checkEclipseLinkCache(DatabaseQuery query, DataRecord dataRecord, Session session){
+        return query.checkEarlyReturn((AbstractSession)session, (AbstractRecord) dataRecord);
     }
 
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java
index 53c1678..0bc081e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java
@@ -18,7 +18,8 @@
 
 import java.util.Vector;
 import java.math.BigDecimal;
-import org.eclipse.persistence.sessions.Record;
+
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.queries.*;
 import org.eclipse.persistence.internal.databaseaccess.Accessor;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
@@ -287,8 +288,8 @@
                     currentValue = BigDecimal.valueOf(((Number)result).longValue());
                 } else if (result instanceof String) {
                     currentValue = new BigDecimal((String)result);
-                } else if (result instanceof Record) {
-                    Object val = ((Record)result).get("text()");
+                } else if (result instanceof DataRecord) {
+                    Object val = ((DataRecord)result).get("text()");
                     currentValue = new BigDecimal((String)val);
                 } else {
                     // DatabaseException.errorPreallocatingSequenceNumbers() is thrown by the superclass
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/Record.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DataRecord.java
similarity index 89%
rename from foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/Record.java
rename to foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DataRecord.java
index 9e62c7b..9be866e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/Record.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DataRecord.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -24,6 +24,6 @@
  * @author  mmacivor
  * @since   10.1.3
  */
-public interface Record extends Map {
+public interface DataRecord extends Map {
     // Uses Map API.
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatabaseRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatabaseRecord.java
index 3cec1a9..cbb68e5 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatabaseRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatabaseRecord.java
@@ -30,7 +30,7 @@
  *        <li> Allow get and put on the field or field name.
  * </ul>
  * @see DatabaseField
- * @see Record
+ * @see DataRecord
  * @see java.util.Map
  */
 public class DatabaseRecord extends AbstractRecord {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/IdentityMapAccessor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/IdentityMapAccessor.java
index c581506..6b34049 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/IdentityMapAccessor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/IdentityMapAccessor.java
@@ -90,7 +90,7 @@
      * Returns true if the identity map contains an Object with the same primary key
      * of the specified row (i.e. the database record) and Class type.
      */
-    boolean containsObjectInIdentityMap(Record rowContainingPrimaryKey, Class theClass);
+    boolean containsObjectInIdentityMap(DataRecord rowContainingPrimaryKey, Class theClass);
 
     /**
      * ADVANCED:
@@ -106,7 +106,7 @@
      * @param shouldReturnInvalidatedObjects boolean - true if only invalid Objects should be returned
      * @return Vector of Objects
      */
-    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException;
+    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException;
 
     /**
      * ADVANCED:
@@ -122,7 +122,7 @@
      * @param shouldReturnInvalidatedObjects boolean - true if only invalid Objects should be returned
      * @return Vector of Objects
      */
-    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException;
+    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException;
 
     /**
      * ADVANCED:
@@ -135,7 +135,7 @@
      * {@link org.eclipse.persistence.queries.InMemoryQueryIndirectionPolicy InMemoryQueryIndirectionPolicy}
      * @return Vector of Objects with type theClass and matching the selectionCriteria
      */
-    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException;
+    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException;
 
     /**
      * ADVANCED:
@@ -148,7 +148,7 @@
      * {@link org.eclipse.persistence.queries.InMemoryQueryIndirectionPolicy InMemoryQueryIndirectionPolicy}
      * @return Vector of Objects with type theClass and matching the selectionCriteria
      */
-    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy) throws QueryException;
+    Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy) throws QueryException;
 
     /**
      * ADVANCED:
@@ -176,7 +176,7 @@
      * @param theClass Class
      * @return Object from identity map, may be null.
      */
-    Object getFromIdentityMap(Record rowContainingPrimaryKey, Class theClass);
+    Object getFromIdentityMap(DataRecord rowContainingPrimaryKey, Class theClass);
 
     /**
      * ADVANCED:
@@ -197,7 +197,7 @@
      * @param shouldReturnInvalidatedObjects boolean
      * @return Object from identity map, may be null.
      */
-    Object getFromIdentityMap(Record rowContainingPrimaryKey, Class theClass, boolean shouldReturnInvalidatedObjects);
+    Object getFromIdentityMap(DataRecord rowContainingPrimaryKey, Class theClass, boolean shouldReturnInvalidatedObjects);
 
     /**
      * ADVANCED:
@@ -209,7 +209,7 @@
      * @param translationRow Record
      * @return Object from identity map, may be null
      */
-    Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow) throws QueryException;
+    Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow) throws QueryException;
 
     /**
      * ADVANCED:
@@ -224,7 +224,7 @@
      * see {@link org.eclipse.persistence.queries.InMemoryQueryIndirectionPolicy InMemoryQueryIndirectionPolicy}
      * @return Object from identity map, may be null
      */
-    Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException;
+    Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException;
 
     /**
      * ADVANCED:
@@ -239,7 +239,7 @@
      * see {@link org.eclipse.persistence.queries.InMemoryQueryIndirectionPolicy InMemoryQueryIndirectionPolicy}
      * @return Object from identity map, may be null
      */
-    Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, int valueHolderPolicy) throws QueryException;
+    Object getFromIdentityMap(Expression selectionCriteria, Class theClass, DataRecord translationRow, int valueHolderPolicy) throws QueryException;
 
     /**
      * ADVANCED:
@@ -335,14 +335,14 @@
      * be invalid in the cache. If the Object does not exist in the cache,
      * this method will return without any action.
      */
-    void invalidateObject(Record rowContainingPrimaryKey, Class theClass);
+    void invalidateObject(DataRecord rowContainingPrimaryKey, Class theClass);
 
     /**
      * ADVANCED:
      * Set an object to be invalid in the cache.
      * @param invalidateCluster if true the invalidation will be broadcast to each server in the cluster.
      */
-    void invalidateObject(Record rowContainingPrimaryKey, Class theClass, boolean invalidateCluster);
+    void invalidateObject(DataRecord rowContainingPrimaryKey, Class theClass, boolean invalidateCluster);
 
     /**
      * ADVANCED:
@@ -383,7 +383,7 @@
      * @param translationRow Record
      * @param shouldInvalidateOnException boolean indicates weather to invalidate the object if conform threw exception.
      */
-    void invalidateObjects(Expression selectionCriteria, Class theClass, Record translationRow, boolean shouldInvalidateOnException);
+    void invalidateObjects(Expression selectionCriteria, Class theClass, DataRecord translationRow, boolean shouldInvalidateOnException);
 
     /**
      * ADVANCED:
@@ -428,7 +428,7 @@
      * Returns true if this Object with the given primary key of the Row and Class type
      * given is valid in the cache.
      */
-    boolean isValid(Record rowContainingPrimaryKey, Class theClass);
+    boolean isValid(DataRecord rowContainingPrimaryKey, Class theClass);
 
     /**
      * PUBLIC:
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionEventManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionEventManager.java
index 2158f47..a2b76b1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionEventManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionEventManager.java
@@ -23,7 +23,6 @@
 import org.eclipse.persistence.internal.sessions.*;
 import org.eclipse.persistence.sessions.broker.SessionBroker;
 import org.eclipse.persistence.sessions.server.ClientSession;
-import org.eclipse.persistence.sessions.SessionProfiler;
 
 /**
  * <p><b>Purpose</b>: Used to support session events.
@@ -206,7 +205,7 @@
      * INTERNAL:
      * Raised for stored proc output parameters.
      */
-    public void outputParametersDetected(Record outputRow, DatasourceCall call) {
+    public void outputParametersDetected(DataRecord outputRow, DatasourceCall call) {
         if (!hasListeners()) {
             return;
         }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfiler.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfiler.java
index 75749ee..f09fb52 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfiler.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfiler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -99,7 +99,7 @@
      *
      * @return the execution result of the query.
      */
-    Object profileExecutionOfQuery(DatabaseQuery query, Record row, AbstractSession session);
+    Object profileExecutionOfQuery(DatabaseQuery query, DataRecord row, AbstractSession session);
 
     /**
      * INTERNAL:
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfilerAdapter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfilerAdapter.java
index cf03554..be23f42 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfilerAdapter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/SessionProfilerAdapter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -54,7 +54,7 @@
      * @return the execution result of the query.
      */
     @Override
-    public Object profileExecutionOfQuery(DatabaseQuery query, Record row, AbstractSession session) {
+    public Object profileExecutionOfQuery(DatabaseQuery query, DataRecord row, AbstractSession session) {
         return session.internalExecuteQuery(query, (AbstractRecord)row);
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/changesets/TransformationMappingChangeRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/changesets/TransformationMappingChangeRecord.java
index 12af125..f5f0ff0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/changesets/TransformationMappingChangeRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/changesets/TransformationMappingChangeRecord.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,7 +14,7 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.sessions.changesets;
 
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  * <p>
@@ -29,5 +29,5 @@
      * This method is used to access the changes of the fields in a transformation mapping.
      * @return org.eclipse.persistence.sessions.Record
      */
-    Record getRecord();
+    DataRecord getRecord();
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheKeyInterceptor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheKeyInterceptor.java
index 14b558f..447df0b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheKeyInterceptor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheKeyInterceptor.java
@@ -17,7 +17,7 @@
 import org.eclipse.persistence.internal.identitymaps.AbstractIdentityMap;
 import org.eclipse.persistence.internal.identitymaps.CacheKey;
 import org.eclipse.persistence.internal.identitymaps.IdentityMap;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  * The CacheKeyInterceptor allows a Cache Interceptor implementation to wrap the EclipseLink CacheKey.
@@ -167,7 +167,7 @@
         }
 
         @Override
-        public Record getRecord() {
+        public DataRecord getRecord() {
             return wrappedKey.getRecord();
         }
 
@@ -269,8 +269,8 @@
         }
 
         @Override
-        public void setRecord(Record newRecord) {
-            wrappedKey.setRecord(newRecord);
+        public void setRecord(DataRecord newDataRecord) {
+            wrappedKey.setRecord(newDataRecord);
         }
 
         @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceMonitor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceMonitor.java
index caf2e19..70c28e1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceMonitor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceMonitor.java
@@ -20,7 +20,7 @@
 import java.io.*;
 
 import org.eclipse.persistence.queries.*;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.SessionProfiler;
 import org.eclipse.persistence.internal.sessions.AbstractRecord;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
@@ -192,7 +192,7 @@
      * Monitoring is done on the endOperation only.
      */
     @Override
-    public Object profileExecutionOfQuery(DatabaseQuery query, Record row, AbstractSession session) {
+    public Object profileExecutionOfQuery(DatabaseQuery query, DataRecord row, AbstractSession session) {
         if (this.profileWeight < SessionProfiler.HEAVY) {
             return session.internalExecuteQuery(query, (AbstractRecord)row);
         }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceProfiler.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceProfiler.java
index 7a23791..a376bdf 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceProfiler.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/profiler/PerformanceProfiler.java
@@ -29,7 +29,7 @@
 import org.eclipse.persistence.internal.sessions.AbstractRecord;
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.queries.DatabaseQuery;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.SessionProfilerAdapter;
 
 /**
@@ -384,7 +384,7 @@
      */
     @Override
     @SuppressWarnings({"unchecked"})
-    public Object profileExecutionOfQuery(DatabaseQuery query, Record row, AbstractSession session) {
+    public Object profileExecutionOfQuery(DatabaseQuery query, DataRecord row, AbstractSession session) {
         long profileStartTime = System.nanoTime();
         long nestedProfileStartTime = getProfileTime();
         Profile profile = new Profile();
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursNSTransformer.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursNSTransformer.java
index 95f9f8c..169dc40 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursNSTransformer.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursNSTransformer.java
@@ -25,7 +25,7 @@
 import org.eclipse.persistence.mappings.transformers.FieldTransformer;
 import org.eclipse.persistence.oxm.NamespaceResolver;
 import org.eclipse.persistence.oxm.XMLField;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class NormalHoursNSTransformer implements FieldTransformer, AttributeTransformer {
@@ -57,7 +57,7 @@
     }
 
     @Override
-    public Object buildAttributeValue(Record row, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord row, Object object, Session session) {
         Time[] hours = new Time[2];
 
         /**
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursTransformer.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursTransformer.java
index a22ef41..419d2f1 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursTransformer.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/models/employee/eis/xmlfile/NormalHoursTransformer.java
@@ -16,7 +16,7 @@
 
 import java.sql.Time;
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.mappings.transformers.FieldTransformer;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
@@ -42,7 +42,7 @@
     }
 
     @Override
-    public Object buildAttributeValue(Record row, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord row, Object object, Session session) {
         Time[] hours = new Time[2];
 
         /**
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoDatabaseTestSuite.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoDatabaseTestSuite.java
index a27b42a..872627d 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoDatabaseTestSuite.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoDatabaseTestSuite.java
@@ -42,7 +42,7 @@
 import org.eclipse.persistence.jpa.dynamic.JPADynamicHelper;
 import org.eclipse.persistence.nosql.adapters.mongo.Mongo3ConnectionSpec;
 import org.eclipse.persistence.nosql.adapters.mongo.MongoPlatform;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.testing.framework.junit.JUnitTestCase;
 import org.eclipse.persistence.testing.framework.junit.JUnitTestCaseHelper;
 import org.eclipse.persistence.testing.models.jpa.mongo.Address;
@@ -911,8 +911,8 @@
         Query query = em.unwrap(JpaEntityManager.class).createQuery(interaction);
         List result = query.getResultList();
         if ((result.size() != 1)
-                || (!(result.get(0) instanceof Record))
-                || !(((Record)result.get(0)).get("_id").equals(existingOrder.id))) {
+                || (!(result.get(0) instanceof DataRecord))
+                || !(((DataRecord)result.get(0)).get("_id").equals(existingOrder.id))) {
             fail("Incorrect result: " + result);
         }
 
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoTestSuite.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoTestSuite.java
index c29889c..6134fbb 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoTestSuite.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/mongo/MongoTestSuite.java
@@ -41,7 +41,7 @@
 import org.eclipse.persistence.jpa.JpaEntityManager;
 import org.eclipse.persistence.jpa.dynamic.JPADynamicHelper;
 import org.eclipse.persistence.nosql.adapters.mongo.MongoPlatform;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.testing.framework.junit.JUnitTestCase;
 import org.eclipse.persistence.testing.framework.junit.JUnitTestCaseHelper;
 import org.eclipse.persistence.testing.models.jpa.mongo.Address;
@@ -886,8 +886,8 @@
         Query query = em.unwrap(JpaEntityManager.class).createQuery(interaction);
         List result = query.getResultList();
         if ((result.size() != 1)
-                || (!(result.get(0) instanceof Record))
-                || !(((Record)result.get(0)).get("_id").equals(existingOrder.id))) {
+                || (!(result.get(0) instanceof DataRecord))
+                || !(((DataRecord)result.get(0)).get("_id").equals(existingOrder.id))) {
             fail("Incorrect result: " + result);
         }
 
diff --git a/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/eis/nosql/NoSQLSimpleTest.java b/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/eis/nosql/NoSQLSimpleTest.java
index 88da45f..ec154c4 100644
--- a/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/eis/nosql/NoSQLSimpleTest.java
+++ b/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/eis/nosql/NoSQLSimpleTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -27,7 +27,7 @@
 import org.eclipse.persistence.queries.DataModifyQuery;
 import org.eclipse.persistence.queries.DataReadQuery;
 import org.eclipse.persistence.sessions.DatabaseSession;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.testing.framework.ReflectionHelper;
 import org.eclipse.persistence.testing.framework.junit.LogTestExecution;
 import org.eclipse.persistence.testing.tests.nosql.NoSQLURI;
@@ -138,7 +138,7 @@
         readCall.addArgumentValue("Order/1234", "");
         final DataReadQuery read = new DataReadQuery(readCall);
         @SuppressWarnings("unchecked")
-        final List<Record> result = (List<Record>)session.executeQuery(read);
+        final List<DataRecord> result = (List<DataRecord>)session.executeQuery(read);
         final String value = new String((byte[])result.get(0).get("Order/1234"));
         assertEquals("foo expected: " + value, "foo", value);
     }
diff --git a/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPAMappedTest.java b/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPAMappedTest.java
index f6fea3a..2d8f50c 100644
--- a/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPAMappedTest.java
+++ b/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPAMappedTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -30,7 +30,7 @@
 import org.eclipse.persistence.internal.nosql.adapters.nosql.OracleNoSQLOperation;
 import org.eclipse.persistence.jpa.JpaEntityManager;
 import org.eclipse.persistence.nosql.adapters.nosql.OracleNoSQLPlatform;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.testing.framework.junit.LogTestExecution;
 import org.eclipse.persistence.testing.models.jpa.nosql.mapped.Address;
 import org.eclipse.persistence.testing.models.jpa.nosql.mapped.Customer;
@@ -329,9 +329,9 @@
         final List<Object> result1 = query1.getResultList();
         assertEquals(String.format("Expected result of size 1, got %d", result1.size()), 1, result1.size());
         assertTrue(String.format("Result is not instance of Record but %s", result1.get(0).getClass().getSimpleName()),
-                (result1.get(0) instanceof Record));
+                (result1.get(0) instanceof DataRecord));
         assertTrue(String.format("Incorrect result: %s", result1),
-                (((Record)result1.get(0)).containsKey("[Order-mapped," + existingOrder.id + "]")));
+                (((DataRecord)result1.get(0)).containsKey("[Order-mapped," + existingOrder.id + "]")));
 
         interaction = new MappedInteraction();
         interaction.setProperty(OracleNoSQLPlatform.OPERATION, OracleNoSQLOperation.GET.name());
diff --git a/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPATest.java b/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPATest.java
index 5d26f86..ec21168 100644
--- a/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPATest.java
+++ b/foundation/org.eclipse.persistence.oracle.nosql/src/it/java/org/eclipse/persistence/testing/tests/jpa/nosql/NoSQLJPATest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -31,7 +31,7 @@
 import org.eclipse.persistence.internal.nosql.adapters.nosql.OracleNoSQLOperation;
 import org.eclipse.persistence.jpa.JpaEntityManager;
 import org.eclipse.persistence.nosql.adapters.nosql.OracleNoSQLPlatform;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.testing.framework.junit.LogTestExecution;
 import org.eclipse.persistence.testing.models.jpa.nosql.Address;
 import org.eclipse.persistence.testing.models.jpa.nosql.Customer;
@@ -313,9 +313,9 @@
         final List<Object> result1 = query1.getResultList();
         assertEquals(String.format("Expected result of size 1, got %d", result1.size()), 1, result1.size());
         assertTrue(String.format("Result is not instance of Record but %s", result1.get(0).getClass().getSimpleName()),
-                (result1.get(0) instanceof Record));
+                (result1.get(0) instanceof DataRecord));
         assertTrue(String.format("Incorrect result: %s", result1),
-                (((Record)result1.get(0)).containsKey("[ORDER," + existingOrder.id + "]")));
+                (((DataRecord)result1.get(0)).containsKey("[ORDER," + existingOrder.id + "]")));
 
         interaction = new XMLInteraction();
         interaction.setProperty(OracleNoSQLPlatform.OPERATION, OracleNoSQLOperation.GET.name());
diff --git a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/tools/profiler/oracle/DMSPerformanceProfiler.java b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/tools/profiler/oracle/DMSPerformanceProfiler.java
index f8cc1de..cbad6f9 100644
--- a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/tools/profiler/oracle/DMSPerformanceProfiler.java
+++ b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/tools/profiler/oracle/DMSPerformanceProfiler.java
@@ -26,7 +26,7 @@
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.logging.SessionLog;
 import org.eclipse.persistence.queries.DatabaseQuery;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.sessions.SessionProfiler;
 import org.eclipse.persistence.sessions.server.ServerSession;
@@ -753,7 +753,7 @@
     }
 
     @Override
-    public Object profileExecutionOfQuery(DatabaseQuery query, Record row, AbstractSession session) {
+    public Object profileExecutionOfQuery(DatabaseQuery query, DataRecord row, AbstractSession session) {
         //This is to profile the query execution and no operation name is given
         startOperationProfile(null, query, DMSConsole.HEAVY);
         Object result = null;
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/AdvancedReadTransformer.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/AdvancedReadTransformer.java
index afbf642..a59a4c5 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/AdvancedReadTransformer.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/AdvancedReadTransformer.java
@@ -18,7 +18,7 @@
 
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AdvancedReadTransformer implements AttributeTransformer {
@@ -38,18 +38,18 @@
     }
 
     /**
-     * @param record - The metadata being used to build the object.
+     * @param dataRecord - The metadata being used to build the object.
      * @param session - the current session
      * @param object - The current object that the attribute is being built for.
      * @return - The attribute value to be built into the object containing this mapping.
      */
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
         if(attributeName.equals("overtimeHours")) {
             Time[] hours = new Time[2];
             /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
-            hours[0] = session.getDatasourcePlatform().convertObject(record.get("START_OVERTIME"), Time.class);
-            hours[1] = session.getDatasourcePlatform().convertObject(record.get("END_OVERTIME"), Time.class);
+            hours[0] = session.getDatasourcePlatform().convertObject(dataRecord.get("START_OVERTIME"), Time.class);
+            hours[1] = session.getDatasourcePlatform().convertObject(dataRecord.get("END_OVERTIME"), Time.class);
             return hours;
         } else {
             throw new RuntimeException("Unknown attribute");
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Door.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Door.java
index ef209cc..5dcc240 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Door.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Door.java
@@ -32,7 +32,7 @@
 import org.eclipse.persistence.annotations.ReadTransformer;
 import org.eclipse.persistence.annotations.WriteTransformer;
 import org.eclipse.persistence.internal.helper.Helper;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 @Entity
@@ -114,7 +114,7 @@
         this.WarrantyDate = date;
     }
 
-    public Date calcWarrantyDate(Record row, Session session) {
+    public Date calcWarrantyDate(DataRecord row, Session session) {
         Date date = session.getDatasourcePlatform().convertObject(row.get("SALE_DATE"), Date.class );
         Calendar cal = Calendar.getInstance();
         cal.setTime(date);
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Employee.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Employee.java
index 7c16bec..eadb702 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Employee.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/advanced/Employee.java
@@ -95,7 +95,7 @@
 import org.eclipse.persistence.config.CacheIsolationType;
 import org.eclipse.persistence.config.QueryHints;
 import org.eclipse.persistence.oxm.annotations.XmlPath;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 /**
@@ -391,7 +391,7 @@
      * IMPORTANT: This method builds the value but does not set it.
      * The mapping will set it using method or direct access as defined in the descriptor.
      */
-    public Time[] buildNormalHours(Record row, Session session) {
+    public Time[] buildNormalHours(DataRecord row, Session session) {
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/AdvancedReadTransformer.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/AdvancedReadTransformer.java
index b618d0e..9c50edd 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/AdvancedReadTransformer.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/AdvancedReadTransformer.java
@@ -18,7 +18,7 @@
 
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AdvancedReadTransformer implements AttributeTransformer {
@@ -38,18 +38,18 @@
     }
 
     /**
-     * @param record - The metadata being used to build the object.
+     * @param dataRecord - The metadata being used to build the object.
      * @param session - the current session
      * @param object - The current object that the attribute is being built for.
      * @return - The attribute value to be built into the object containing this mapping.
      */
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
         if(attributeName.equals("overtimeHours")) {
             Time[] hours = new Time[2];
             /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
-            hours[0] = session.getDatasourcePlatform().convertObject(record.get("START_OVERTIME"), Time.class);
-            hours[1] = session.getDatasourcePlatform().convertObject(record.get("END_OVERTIME"), Time.class);
+            hours[0] = session.getDatasourcePlatform().convertObject(dataRecord.get("START_OVERTIME"), Time.class);
+            hours[1] = session.getDatasourcePlatform().convertObject(dataRecord.get("END_OVERTIME"), Time.class);
             return hours;
         } else {
             throw new RuntimeException("Unknown attribute");
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/Employee.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/Employee.java
index d58ec17..29bee24 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/Employee.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/Employee.java
@@ -28,8 +28,6 @@
 import org.eclipse.persistence.annotations.Customizer;
 import org.eclipse.persistence.annotations.ExistenceChecking;
 import org.eclipse.persistence.annotations.IdValidation;
-import org.eclipse.persistence.annotations.JoinFetch;
-import org.eclipse.persistence.annotations.JoinFetchType;
 import org.eclipse.persistence.annotations.Mutable;
 import org.eclipse.persistence.annotations.ObjectTypeConverter;
 import org.eclipse.persistence.annotations.OptimisticLocking;
@@ -43,7 +41,7 @@
 import org.eclipse.persistence.annotations.WriteTransformers;
 import org.eclipse.persistence.config.CacheIsolationType;
 import org.eclipse.persistence.config.QueryHints;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.testing.models.jpa.composite.advanced.member_1.Address;
 import org.eclipse.persistence.testing.models.jpa.composite.advanced.member_1.Department;
@@ -313,7 +311,7 @@
      * IMPORTANT: This method builds the value but does not set it.
      * The mapping will set it using method or direct access as defined in the descriptor.
      */
-    public Time[] buildNormalHours(Record row, Session session) {
+    public Time[] buildNormalHours(DataRecord row, Session session) {
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/inheritance/AppleExtractor.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/inheritance/AppleExtractor.java
index e553010..430c4dd 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/inheritance/AppleExtractor.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/inheritance/AppleExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -19,7 +19,7 @@
 import org.eclipse.persistence.descriptors.ClassExtractor;
 import org.eclipse.persistence.exceptions.DescriptorException;
 import org.eclipse.persistence.expressions.ExpressionBuilder;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AppleExtractor extends ClassExtractor {
@@ -30,7 +30,7 @@
      * field name, the value is the database value.
      */
     @Override
-    public Class extractClassFromRow(Record databaseRow, Session session) {
+    public Class extractClassFromRow(DataRecord databaseRow, Session session) {
         if (databaseRow.containsKey("JPA_MACBOOK_PRO.COLOR")) {
             return MacBookPro.class;
         } else if (databaseRow.containsKey("JPA_MACBOOK.RAM")) {
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/AdvancedReadTransformer.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/AdvancedReadTransformer.java
index 6561699..b963fd1 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/AdvancedReadTransformer.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/AdvancedReadTransformer.java
@@ -18,7 +18,7 @@
 
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AdvancedReadTransformer implements AttributeTransformer {
@@ -38,18 +38,18 @@
     }
 
     /**
-     * @param record - The metadata being used to build the object.
+     * @param dataRecord - The metadata being used to build the object.
      * @param session - the current session
      * @param object - The current object that the attribute is being built for.
      * @return - The attribute value to be built into the object containing this mapping.
      */
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
         if(attributeName.equals("overtimeHours")) {
             Time[] hours = new Time[2];
             /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
-            hours[0] = session.getDatasourcePlatform().convertObject(record.get("START_OVERTIME"), Time.class);
-            hours[1] = session.getDatasourcePlatform().convertObject(record.get("END_OVERTIME"), Time.class);
+            hours[0] = session.getDatasourcePlatform().convertObject(dataRecord.get("START_OVERTIME"), Time.class);
+            hours[1] = session.getDatasourcePlatform().convertObject(dataRecord.get("END_OVERTIME"), Time.class);
             return hours;
         } else {
             throw new RuntimeException("Unknown attribute");
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/DoNotRedirect.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/DoNotRedirect.java
index 9fbd72c..91abe5a 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/DoNotRedirect.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/DoNotRedirect.java
@@ -19,13 +19,13 @@
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.queries.DatabaseQuery;
 import org.eclipse.persistence.queries.QueryRedirector;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class DoNotRedirect implements QueryRedirector {
 
     @Override
-    public Object invokeQuery(DatabaseQuery query, Record arguments, Session session) {
+    public Object invokeQuery(DatabaseQuery query, DataRecord arguments, Session session) {
         query.setDoNotRedirect(true);
         return ((AbstractSession)session).executeQuery(query, (AbstractRecord)arguments);
     }
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/Employee.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/Employee.java
index 851c32c..c3c1229 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/Employee.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/advanced/Employee.java
@@ -28,7 +28,7 @@
 
 import org.eclipse.persistence.annotations.Properties;
 import org.eclipse.persistence.annotations.Property;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 /**
@@ -183,7 +183,7 @@
      * IMPORTANT: This method builds the value but does not set it.
      * The mapping will set it using method or direct access as defined in the descriptor.
      */
-    public Time[] buildNormalHours(Record row, Session session) {
+    public Time[] buildNormalHours(DataRecord row, Session session) {
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1/DoNotRedirect.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1/DoNotRedirect.java
index 424119d..8c4fc07 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1/DoNotRedirect.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1/DoNotRedirect.java
@@ -19,13 +19,13 @@
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.queries.DatabaseQuery;
 import org.eclipse.persistence.queries.QueryRedirector;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class DoNotRedirect implements QueryRedirector {
 
     @Override
-    public Object invokeQuery(DatabaseQuery query, Record arguments, Session session) {
+    public Object invokeQuery(DatabaseQuery query, DataRecord arguments, Session session) {
         query.setDoNotRedirect(true);
         return ((AbstractSession)session).executeQuery(query, (AbstractRecord)arguments);
     }
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/AdvancedReadTransformer.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/AdvancedReadTransformer.java
index 0b92ccc..9b1513f 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/AdvancedReadTransformer.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/AdvancedReadTransformer.java
@@ -18,7 +18,7 @@
 
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AdvancedReadTransformer implements AttributeTransformer {
@@ -38,18 +38,18 @@
     }
 
     /**
-     * @param record - The metadata being used to build the object.
+     * @param dataRecord - The metadata being used to build the object.
      * @param session - the current session
      * @param object - The current object that the attribute is being built for.
      * @return - The attribute value to be built into the object containing this mapping.
      */
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
         if(attributeName.equals("overtimeHours")) {
             Time[] hours = new Time[2];
             /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
-            hours[0] = session.getDatasourcePlatform().convertObject(record.get("START_OVERTIME"), Time.class);
-            hours[1] = session.getDatasourcePlatform().convertObject(record.get("END_OVERTIME"), Time.class);
+            hours[0] = session.getDatasourcePlatform().convertObject(dataRecord.get("START_OVERTIME"), Time.class);
+            hours[1] = session.getDatasourcePlatform().convertObject(dataRecord.get("END_OVERTIME"), Time.class);
             return hours;
         } else {
             throw new RuntimeException("Unknown attribute");
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/Employee.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/Employee.java
index 2c7cbf3..2f0bf9f 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/Employee.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/Employee.java
@@ -28,7 +28,7 @@
 
 import org.eclipse.persistence.annotations.Properties;
 import org.eclipse.persistence.annotations.Property;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_1.Address;
 import org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_3.Dealer;
@@ -185,7 +185,7 @@
      * IMPORTANT: This method builds the value but does not set it.
      * The mapping will set it using method or direct access as defined in the descriptor.
      */
-    public Time[] buildNormalHours(Record row, Session session) {
+    public Time[] buildNormalHours(DataRecord row, Session session) {
         Time[] hours = new Time[2];
 
         /** This conversion allows for the database type not to match, i.e. may be a Timestamp or String. */
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/inheritance/AppleExtractor.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/inheritance/AppleExtractor.java
index bcf38f0..96520a0 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/inheritance/AppleExtractor.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa/xml/inheritance/AppleExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -19,7 +19,7 @@
 import org.eclipse.persistence.descriptors.ClassExtractor;
 import org.eclipse.persistence.exceptions.DescriptorException;
 import org.eclipse.persistence.expressions.ExpressionBuilder;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AppleExtractor extends ClassExtractor {
@@ -30,7 +30,7 @@
      * field name, the value is the database value.
      */
     @Override
-    public Class extractClassFromRow(Record databaseRow, Session session) {
+    public Class extractClassFromRow(DataRecord databaseRow, Session session) {
         if (databaseRow.containsKey("XML_MACBOOK_PRO.COLOR")) {
             return MacBookPro.class;
         } else if (databaseRow.containsKey("XML_MACBOOK.RAM")) {
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/Employee.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/Employee.java
index 319debb..3d199ff 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/Employee.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/Employee.java
@@ -27,7 +27,6 @@
 import java.io.Serializable;
 
 import java.util.Collection;
-import java.util.List;
 import java.util.Vector;
 
 import jakarta.persistence.AttributeOverride;
@@ -56,13 +55,11 @@
 import jakarta.persistence.NamedStoredProcedureQuery;
 import jakarta.persistence.NamedSubgraph;
 import jakarta.persistence.OneToMany;
-import jakarta.persistence.ParameterMode;
 import jakarta.persistence.PrimaryKeyJoinColumn;
 import jakarta.persistence.SecondaryTable;
 import jakarta.persistence.SqlResultSetMapping;
 import jakarta.persistence.SqlResultSetMappings;
 import jakarta.persistence.StoredProcedureParameter;
-import jakarta.persistence.StoredProcedureQuery;
 import jakarta.persistence.Table;
 import jakarta.persistence.TableGenerator;
 import jakarta.persistence.Version;
@@ -70,18 +67,11 @@
 import org.eclipse.persistence.annotations.Convert;
 import org.eclipse.persistence.annotations.ConversionValue;
 import org.eclipse.persistence.annotations.ObjectTypeConverter;
-import org.eclipse.persistence.annotations.TypeConverter;
-
-import org.eclipse.persistence.config.QueryHints;
-import org.eclipse.persistence.sessions.Record;
-import org.eclipse.persistence.sessions.Session;
 
 import static jakarta.persistence.CascadeType.*;
 import static jakarta.persistence.FetchType.*;
 import static jakarta.persistence.GenerationType.*;
 import static jakarta.persistence.ParameterMode.IN;
-import static jakarta.persistence.ParameterMode.INOUT;
-import static jakarta.persistence.ParameterMode.OUT;
 import static jakarta.persistence.ParameterMode.REF_CURSOR;
 
 @Entity
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/xml/Employee.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/xml/Employee.java
index 19dc66d..eb54ec6 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/xml/Employee.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/models/jpa21/advanced/xml/Employee.java
@@ -17,17 +17,11 @@
 
 import java.io.Serializable;
 import java.util.Collection;
-import java.util.List;
 import java.util.Vector;
 
 import org.eclipse.persistence.annotations.Convert;
 import org.eclipse.persistence.annotations.ConversionValue;
 import org.eclipse.persistence.annotations.ObjectTypeConverter;
-import org.eclipse.persistence.annotations.TypeConverter;
-
-import org.eclipse.persistence.config.QueryHints;
-import org.eclipse.persistence.sessions.Record;
-import org.eclipse.persistence.sessions.Session;
 
 @ObjectTypeConverter(
         name="sex",
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/config/DoNotRedirect.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/config/DoNotRedirect.java
index 2d1c7d2..347e755 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/config/DoNotRedirect.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/config/DoNotRedirect.java
@@ -18,7 +18,7 @@
 import org.eclipse.persistence.internal.sessions.AbstractSession;
 import org.eclipse.persistence.queries.DatabaseQuery;
 import org.eclipse.persistence.queries.QueryRedirector;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 /**
@@ -30,7 +30,7 @@
 public class DoNotRedirect implements QueryRedirector {
 
     @Override
-    public Object invokeQuery(DatabaseQuery query, Record arguments, Session session) {
+    public Object invokeQuery(DatabaseQuery query, DataRecord arguments, Session session) {
         query.setDoNotRedirect(true);
         return ((AbstractSession) session).executeQuery(query, (AbstractRecord) arguments);
     }
diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/jpql/ArrayQueryRedirector.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/jpql/ArrayQueryRedirector.java
index 0835cfc..083548e 100644
--- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/jpql/ArrayQueryRedirector.java
+++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/jpql/ArrayQueryRedirector.java
@@ -18,12 +18,12 @@
 
 import org.eclipse.persistence.queries.DatabaseQuery;
 import org.eclipse.persistence.queries.QueryRedirector;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class ArrayQueryRedirector implements QueryRedirector {
     @Override
-    public Object invokeQuery(DatabaseQuery query, Record record, Session session) {
+    public Object invokeQuery(DatabaseQuery query, DataRecord dataRecord, Session session) {
         List result = (List)session.executeQuery(query);
         return result.toArray(new Object[result.size()]);
     }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/MyClassExtractor.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/MyClassExtractor.java
index 540a2d3..af8a22b 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/MyClassExtractor.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/MyClassExtractor.java
@@ -15,12 +15,12 @@
 package org.eclipse.persistence.testing.jaxb.annotations.xmlclassextractor;
 
 import org.eclipse.persistence.descriptors.ClassExtractor;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class MyClassExtractor extends ClassExtractor {
     @Override
-    public Class extractClassFromRow(Record databaseRow, Session session) {
+    public Class extractClassFromRow(DataRecord databaseRow, Session session) {
         return Car.class;
     }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/Vehicle.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/Vehicle.java
index c30d38b..bc326c6 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/Vehicle.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmlclassextractor/Vehicle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -18,7 +18,7 @@
 import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.eclipse.persistence.oxm.annotations.XmlClassExtractor;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 @XmlClassExtractor(MyClassExtractor.class)
 @XmlRootElement(name="vehicle")
@@ -41,7 +41,7 @@
         return false;
     }
 
-    public static Class getClassForRow(Record databaseRow) {
+    public static Class getClassForRow(DataRecord databaseRow) {
         return Car.class;
     }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/AddressTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/AddressTransformer.java
index 740bab2..a4be998 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/AddressTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/AddressTransformer.java
@@ -17,7 +17,7 @@
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
 import org.eclipse.persistence.mappings.transformers.FieldTransformer;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AddressTransformer implements FieldTransformer, AttributeTransformer {
@@ -46,9 +46,9 @@
     }
 
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
-        String street = (String) record.get("address/street/text()");
-        String city =(String) record.get("address/city/text()");
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
+        String street = (String) dataRecord.get("address/street/text()");
+        String city =(String) dataRecord.get("address/city/text()");
         return new AddressNoCtor(street, city);
     }
 
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/EmployeeTransformationMethod.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/EmployeeTransformationMethod.java
index 8e31e23..b2bdde9 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/EmployeeTransformationMethod.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/EmployeeTransformationMethod.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,7 +21,7 @@
 import org.eclipse.persistence.oxm.annotations.XmlTransformation;
 import org.eclipse.persistence.oxm.annotations.XmlWriteTransformer;
 import org.eclipse.persistence.oxm.annotations.XmlWriteTransformers;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 @XmlRootElement(name="employee")
 public class EmployeeTransformationMethod {
@@ -56,9 +56,9 @@
 
     }
 
-    public String[] buildAttributeValue(Record record) {
-        String startTime = (String)record.get("normal-hours/start-time/text()");
-        String endTime = (String)record.get("normal-hours/end-time/text()");
+    public String[] buildAttributeValue(DataRecord dataRecord) {
+        String startTime = (String) dataRecord.get("normal-hours/start-time/text()");
+        String endTime = (String) dataRecord.get("normal-hours/end-time/text()");
 
         return new String[]{startTime, endTime};
     }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/NormalHoursTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/NormalHoursTransformer.java
index 81d149a..845a634 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/NormalHoursTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/annotations/xmltransformation/NormalHoursTransformer.java
@@ -14,21 +14,17 @@
 // Oracle = 2.2 - Initial implementation
 package org.eclipse.persistence.testing.jaxb.annotations.xmltransformation;
 
-import java.sql.Time;
-import java.sql.Timestamp;
-
-import org.eclipse.persistence.internal.oxm.XMLConversionManager;
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class NormalHoursTransformer implements AttributeTransformer {
 
     @Override
-    public String[] buildAttributeValue(Record record, Object object, Session session) {
-        String startTime = (String)record.get("normal-hours/start-time/text()");
-        String endTime = (String)record.get("normal-hours/end-time/text()");
+    public String[] buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
+        String startTime = (String) dataRecord.get("normal-hours/start-time/text()");
+        String endTime = (String) dataRecord.get("normal-hours/end-time/text()");
 
         return new String[]{startTime, endTime};
 
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/AttributeTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/AttributeTransformer.java
index 0b85d7a..2925a02 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/AttributeTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/AttributeTransformer.java
@@ -15,16 +15,16 @@
 package org.eclipse.persistence.testing.jaxb.dynamic.util;
 
 import org.eclipse.persistence.mappings.transformers.AttributeTransformerAdapter;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class AttributeTransformer extends AttributeTransformerAdapter {
 
     @Override
-    public Object buildAttributeValue(Record record, Object instance, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object instance, Session session) {
         String[] objectValue = new String[2];
-        objectValue[0] = (String) record.get("transform/first-val/text()");
-        objectValue[1] = (String) record.get("transform/second-val/text()");
+        objectValue[0] = (String) dataRecord.get("transform/first-val/text()");
+        objectValue[1] = (String) dataRecord.get("transform/second-val/text()");
         return objectValue;
     }
 
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/TestClassExtractor.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/TestClassExtractor.java
index fb89cb0..615fa38 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/TestClassExtractor.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/TestClassExtractor.java
@@ -15,13 +15,13 @@
 package org.eclipse.persistence.testing.jaxb.dynamic.util;
 
 import org.eclipse.persistence.descriptors.ClassExtractor;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class TestClassExtractor extends ClassExtractor {
 
     @Override
-    public Class extractClassFromRow(Record databaseRow, Session session) {
+    public Class extractClassFromRow(DataRecord databaseRow, Session session) {
         Class empClass = session.getProject().getDescriptorForAlias("Employee").getJavaClass();
         return empClass;
     }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/UnmarshalTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/UnmarshalTransformer.java
index bca5839..fa1410d 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/UnmarshalTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/dynamic/util/UnmarshalTransformer.java
@@ -15,16 +15,16 @@
 package org.eclipse.persistence.testing.jaxb.dynamic.util;
 
 import org.eclipse.persistence.mappings.transformers.AttributeTransformerAdapter;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class UnmarshalTransformer extends AttributeTransformerAdapter {
 
     @Override
-    public Object buildAttributeValue(Record record, Object instance, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object instance, Session session) {
         String[] hours = new String[2];
-        hours[0] = (String) record.get("normal-hours/start-time/text()");
-        hours[1] = (String) record.get("normal-hours/end-time/text()");
+        hours[0] = (String) dataRecord.get("normal-hours/start-time/text()");
+        hours[1] = (String) dataRecord.get("normal-hours/end-time/text()");
         return hours;
     }
 
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/Employee.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/Employee.java
index 1940939..c235f3d 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/Employee.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/Employee.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,7 +16,7 @@
 
 import jakarta.xml.bind.annotation.XmlTransient;
 
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 /**
  *  A simple class that contains a transformation mapping;
@@ -75,10 +75,10 @@
     /**
      * Used for testing method name based attribute transformer.
      */
-    public String[] buildNormalHoursValue(Record record) {
+    public String[] buildNormalHoursValue(DataRecord dataRecord) {
         String[] hours = new String[2];
-        hours[0] = (String) record.get("normal-hours/start-time/text()");
-        hours[1] = (String) record.get("normal-hours/end-time/text()");
+        hours[0] = (String) dataRecord.get("normal-hours/start-time/text()");
+        hours[1] = (String) dataRecord.get("normal-hours/end-time/text()");
         return hours;
     }
 
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/NormalHoursAttributeTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/NormalHoursAttributeTransformer.java
index 070759f..be9719d 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/NormalHoursAttributeTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/mappings/xmltransformation/NormalHoursAttributeTransformer.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class NormalHoursAttributeTransformer implements AttributeTransformer {
@@ -24,10 +24,10 @@
     public void initialize(AbstractTransformationMapping mapping) {}
 
     @Override
-    public Object buildAttributeValue(Record record, Object instance, Session session) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object instance, Session session) {
         String[] hours = new String[2];
-        hours[0] = (String) record.get("normal-hours/start-time/text()");
-        hours[1] = (String) record.get("normal-hours/end-time/text()");
+        hours[0] = (String) dataRecord.get("normal-hours/start-time/text()");
+        hours[1] = (String) dataRecord.get("normal-hours/end-time/text()");
         return hours;
     }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyClassExtractor.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyClassExtractor.java
index cb7abf2..f163765 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyClassExtractor.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyClassExtractor.java
@@ -15,12 +15,12 @@
 package org.eclipse.persistence.testing.jaxb.externalizedmetadata.xmlclassextractor;
 
 import org.eclipse.persistence.descriptors.ClassExtractor;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class MyClassExtractor extends ClassExtractor {
     @Override
-    public Class extractClassFromRow(Record databaseRow, Session session) {
+    public Class extractClassFromRow(DataRecord databaseRow, Session session) {
         return Car.class;
     }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyOtherClassExtractor.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyOtherClassExtractor.java
index ae4c865..51a83a1 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyOtherClassExtractor.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/MyOtherClassExtractor.java
@@ -15,12 +15,12 @@
 package org.eclipse.persistence.testing.jaxb.externalizedmetadata.xmlclassextractor;
 
 import org.eclipse.persistence.descriptors.ClassExtractor;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class MyOtherClassExtractor extends ClassExtractor {
     @Override
-    public Class extractClassFromRow(Record databaseRow, Session session) {
+    public Class extractClassFromRow(DataRecord databaseRow, Session session) {
         return Vehicle.class;
     }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/Vehicle.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/Vehicle.java
index 22a4d7d..414b339 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/Vehicle.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/jaxb/externalizedmetadata/xmlclassextractor/Vehicle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -15,7 +15,7 @@
 package org.eclipse.persistence.testing.jaxb.externalizedmetadata.xmlclassextractor;
 
 import org.eclipse.persistence.oxm.annotations.XmlClassExtractor;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 @XmlClassExtractor(MyOtherClassExtractor.class)
 public class Vehicle {
@@ -36,7 +36,7 @@
         return false;
     }
 
-    public static Class getClassForRow(Record databaseRow) {
+    public static Class getClassForRow(DataRecord databaseRow) {
         return Car.class;
     }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/inheritance/Vehicle.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/inheritance/Vehicle.java
index 6cd931e..e36159f 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/inheritance/Vehicle.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/inheritance/Vehicle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,7 +13,7 @@
 // Contributors:
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.testing.oxm.inheritance;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 
 /**
@@ -39,7 +39,7 @@
         return false;
     }
 
-    public static Class getClassForRow(Record databaseRow) {
+    public static Class getClassForRow(DataRecord databaseRow) {
         return Car.class;
     }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/compositeobject/self/plsqlcallmodel/PLSQLCallModelTestProject.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/compositeobject/self/plsqlcallmodel/PLSQLCallModelTestProject.java
index 44f85ba..896e27f 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/compositeobject/self/plsqlcallmodel/PLSQLCallModelTestProject.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/compositeobject/self/plsqlcallmodel/PLSQLCallModelTestProject.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -33,7 +33,7 @@
 import org.eclipse.persistence.oxm.record.UnmarshalRecord;
 //import org.eclipse.persistence.oxm.record.UnmarshalRecord;
 import org.eclipse.persistence.sessions.Project;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 import static org.eclipse.persistence.testing.oxm.mappings.compositeobject.self.plsqlcallmodel.PLSQLargument.IN;
 import static org.eclipse.persistence.testing.oxm.mappings.compositeobject.self.plsqlcallmodel.PLSQLargument.INOUT;
@@ -147,7 +147,7 @@
         descriptor.setJavaClass(DatabaseTypeWrapper.class);
         descriptor.getInheritancePolicy().setClassExtractor(new ClassExtractor() {
             @Override
-            public Class<?> extractClassFromRow(Record databaseRow, Session session) {
+            public Class<?> extractClassFromRow(DataRecord databaseRow, Session session) {
                 if (databaseRow instanceof UnmarshalRecord) {
                     UnmarshalRecord unmarshalRecord = (UnmarshalRecord)databaseRow;
                     Attributes attributes = unmarshalRecord.getAttributes();
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/Employee.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/Employee.java
index 5f312a1..882fa53 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/Employee.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/Employee.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,8 +14,7 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.testing.oxm.mappings.transformation;
 
-import java.util.Calendar;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 /**
  *  @version $Header: Employee.java 12-apr-2007.15:52:55 mmacivor Exp $
  *  @author  mmacivor
@@ -65,7 +64,7 @@
         name = newName;
     }
 
-    public Object buildNameAttribute(Record row)
+    public Object buildNameAttribute(DataRecord row)
     {
         return row.get("name/text()");
     }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/NormalHoursAttributeTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/NormalHoursAttributeTransformer.java
index 3b5594c..e5fbd84 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/NormalHoursAttributeTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/NormalHoursAttributeTransformer.java
@@ -14,9 +14,8 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.testing.oxm.mappings.transformation;
 
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
-import org.eclipse.persistence.sessions.Record;
-import java.util.Calendar;
 import org.eclipse.persistence.mappings.transformers.*;
 /**
  *  @version $Header: NormalHoursAttributeTransformer.java 07-oct-2005.21:46:09 pkrogh Exp $
@@ -26,11 +25,11 @@
 public class NormalHoursAttributeTransformer extends AttributeTransformerAdapter
 {
   @Override
-  public Object buildAttributeValue(Record record, Object instance, Session session)
+  public Object buildAttributeValue(DataRecord dataRecord, Object instance, Session session)
   {
     String[] hours = new String[2];
-    hours[0] = (String)record.get("normal-hours/start-time/text()");
-    hours[1] = (String)record.get("normal-hours/end-time/text()");
+    hours[0] = (String) dataRecord.get("normal-hours/start-time/text()");
+    hours[1] = (String) dataRecord.get("normal-hours/end-time/text()");
     return hours;
   }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementNSTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementNSTransformer.java
index 9777cc9..605dc71 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementNSTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementNSTransformer.java
@@ -20,7 +20,7 @@
 import org.eclipse.persistence.oxm.NamespaceResolver;
 import org.eclipse.persistence.oxm.XMLField;
 import org.eclipse.persistence.oxm.record.XMLRecord;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class ElementNSTransformer implements AttributeTransformer, FieldTransformer {
@@ -49,11 +49,11 @@
     }
 
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
-        if(null == record) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
+        if(null == dataRecord) {
             return null;
         }
-        XMLRecord xmlRecord = (XMLRecord) record;
+        XMLRecord xmlRecord = (XMLRecord) dataRecord;
 
         if(xmlRecord.getIndicatingNoEntry(startField) != null) {
             return XML_START;
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementTransformer.java
index ac59f14..47da73f 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/transformation/element/ElementTransformer.java
@@ -18,7 +18,7 @@
 import org.eclipse.persistence.mappings.transformers.AttributeTransformer;
 import org.eclipse.persistence.mappings.transformers.FieldTransformer;
 import org.eclipse.persistence.oxm.record.XMLRecord;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class ElementTransformer implements AttributeTransformer, FieldTransformer {
@@ -32,11 +32,11 @@
     }
 
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
-        if(null == record) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
+        if(null == dataRecord) {
             return null;
         }
-        XMLRecord xmlRecord = (XMLRecord) record;
+        XMLRecord xmlRecord = (XMLRecord) dataRecord;
         if(xmlRecord.getIndicatingNoEntry(XML_START) != null) {
             return XML_START;
         } else if (xmlRecord.getIndicatingNoEntry(XML_INTERMEDIATE) != null) {
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHours2Transformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHours2Transformer.java
index 63dcfc2..7374201 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHours2Transformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHours2Transformer.java
@@ -14,13 +14,12 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.testing.oxm.readonly;
 
-import java.util.Calendar;
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.mappings.transformers.*;
 import java.util.Vector;
 
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 public class NormalHours2Transformer implements FieldTransformer, AttributeTransformer
 {
@@ -38,11 +37,11 @@
         return ((Employee)instance).normalHours2.elementAt(1);
   }
   @Override
-  public Object buildAttributeValue(Record record, Object instance, Session session)
+  public Object buildAttributeValue(DataRecord dataRecord, Object instance, Session session)
   {
     Vector normalHours = new Vector(2);
-    normalHours.addElement(record.get("normal-hours/start-time/text()"));
-    normalHours.addElement(record.get("normal-hours/end-time/text()"));
+    normalHours.addElement(dataRecord.get("normal-hours/start-time/text()"));
+    normalHours.addElement(dataRecord.get("normal-hours/end-time/text()"));
     return normalHours;
   }
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHoursTransformer.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHoursTransformer.java
index 53ae355..3f548aa 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHoursTransformer.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/readonly/NormalHoursTransformer.java
@@ -14,12 +14,11 @@
 //     Oracle - initial API and implementation from Oracle TopLink
 package org.eclipse.persistence.testing.oxm.readonly;
 
-import java.util.Calendar;
 import java.util.Vector;
 import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
 import org.eclipse.persistence.sessions.Session;
 import org.eclipse.persistence.mappings.transformers.*;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 
 public class NormalHoursTransformer implements AttributeTransformer, FieldTransformer
 {
@@ -37,11 +36,11 @@
         return ((Employee)instance).normalHours2.elementAt(1);
   }
   @Override
-  public Object buildAttributeValue(Record record, Object instance, Session session)
+  public Object buildAttributeValue(DataRecord dataRecord, Object instance, Session session)
   {
     Vector normalHours = new Vector(2);
-    normalHours.addElement(record.get("normal-hours/start-time"));
-    normalHours.addElement(record.get("normal-hours/end-time"));
+    normalHours.addElement(dataRecord.get("normal-hours/start-time"));
+    normalHours.addElement(dataRecord.get("normal-hours/end-time"));
     return normalHours;
   }
 }
diff --git a/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/helper/metadata/QNameTransformer.java b/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/helper/metadata/QNameTransformer.java
index c73a1df..a7a75c3 100644
--- a/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/helper/metadata/QNameTransformer.java
+++ b/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/helper/metadata/QNameTransformer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,7 +21,7 @@
 import org.eclipse.persistence.oxm.XMLDescriptor;
 import org.eclipse.persistence.oxm.XMLField;
 import org.eclipse.persistence.oxm.record.XMLRecord;
-import org.eclipse.persistence.sessions.Record;
+import org.eclipse.persistence.sessions.DataRecord;
 import org.eclipse.persistence.sessions.Session;
 
 public class QNameTransformer implements AttributeTransformer, FieldTransformer {
@@ -49,12 +49,12 @@
     }
 
     @Override
-    public Object buildAttributeValue(Record record, Object object, Session session) {
-        if (null == record) {
+    public Object buildAttributeValue(DataRecord dataRecord, Object object, Session session) {
+        if (null == dataRecord) {
             return null;
         }
 
-        String value = (String) record.get(xPath);
+        String value = (String) dataRecord.get(xPath);
         if (null == value) {
             return null;
         }
@@ -63,14 +63,14 @@
         if (index > -1) {
             String prefix = value.substring(0, index);
             String localName = value.substring(index + 1);
-            String namespaceURI = ((XMLRecord) record).resolveNamespacePrefix(prefix);
+            String namespaceURI = ((XMLRecord) dataRecord).resolveNamespacePrefix(prefix);
             if (namespaceURI != null) {
                 return namespaceURI + HASH + localName;
             } else {
                 return localName;
             }
         } else {
-            String namespaceURI = ((XMLRecord) record).resolveNamespacePrefix(DEFAULT_NAMESPACE_PREFIX);
+            String namespaceURI = ((XMLRecord) dataRecord).resolveNamespacePrefix(DEFAULT_NAMESPACE_PREFIX);
             if (namespaceURI != null) {
                 return namespaceURI + HASH + value;
             } else {