svn commit: r1927853 - in db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om: conf templates/recordmapper/base

[email protected] Mon, 18 Aug 2025 09:37:00 -0000
Newsgroups gmane.comp.jakarta.turbine.torque.devel
Message-ID <175550982082.1657904.6300235881323091931@svn02-us-east.apache.org>
Author: mwriedt
Date: Mon Aug 18 09:37:00 2025
New Revision: 1927853

Log:
Reimplement Simple Mapping (TORQUE-364) with default disabled

Modified:
   db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/conf/options.properties
   db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/recordmapper/base/recordMapperBase.vm

Modified: db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/conf/options.properties
==============================================================================
--- db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/conf/options.properties	Mon Aug 18 08:30:16 2025	(r1927852)
+++ db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/conf/options.properties	Mon Aug 18 09:37:00 2025	(r1927853)
@@ -78,11 +78,11 @@ torque.om.useManagers = false
 
 # use new org.apache.torque.om.mapper.MappingStrategy<T> in processRow method of generated mappers
 torque.om.useMappingStrategy = true
-# If useMappingStrategy is true, perform an additiona sort in finish method.
+# If useMappingStrategy is true, perform an additional sort in finish method.
 torque.om.mappingStrategySort = true
 
-# In processRow method use simpleMapping (default  true)
-torque.om.simpleMapping = true
+# In processRow method use simpleMapping (default  false)
+torque.om.simpleMapping = false
 
 # Whether to generate methods which select at most a single record
 torque.om.addSelectSingleRecordMethods = true

Modified: db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/recordmapper/base/recordMapperBase.vm
==============================================================================
--- db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/recordmapper/base/recordMapperBase.vm	Mon Aug 18 08:30:16 2025	(r1927852)
+++ db/torque/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/recordmapper/base/recordMapperBase.vm	Mon Aug 18 09:37:00 2025	(r1927853)
@@ -119,6 +119,7 @@ public class ${baseRecordMapperClassName
         return null;
         #end
     }
+#if("${simpleMapping}" == "true") #set( $useSimpleMapping=1 ) #end
 
     /**
      * Constructs the object from the current row in the resultSet.
@@ -158,8 +159,9 @@ $torqueGen.mergepoint("createDbObjectIns
         {
             ${field}.setLoading(true);
 #end
-            if (criteria == null)
-            {
+        // TORQUE-364 - simple mapping if we got the exact column size we assume the full table is used in criteria - skipping the mapping of every column
+        if (criteria == null #if ($useSimpleMapping) || (criteria.getJoins().isEmpty() && criteria.getSelectColumns().size() - offset ==  ${basePeerClassName}.numColumns) #end))
+        {
 #set ( $n = 1 )
 #foreach ($columnElement in $torqueGen.getChildren("column"))
   #set ( $setter = $columnElement.getAttribute("setter") )