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

borinquenkid pushed a commit to branch 8.0.x-hibernate7
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 837e88c9cc0263be04453f7fa93149ed2ce2c952
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Feb 14 13:11:19 2026 -0600

    Refactor GrailsDomainBinder to improve utility instance reuse
    
    - Convert backticksRemover to a local variable in the contribute method.
    - Introduce columnNameForPropertyAndPathFetcher field to consolidate column 
name fetching logic.
    - Update addMultiTenantFilterIfNecessary and bindJoinedSubClass to use 
shared fetcher instances instead of creating new ones.
---
 .../org/grails/orm/hibernate/cfg/GrailsDomainBinder.java       | 10 +++++-----
 .../hibernate/cfg/domainbinding/binder/SimpleValueBinder.java  |  1 -
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
index 8f61097728..7db17c814e 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
@@ -140,7 +140,7 @@ public class GrailsDomainBinder
     private IdentityBinder identityBinder;
     private VersionBinder versionBinder;
     private DefaultColumnNameFetcher defaultColumnNameFetcher;
-    private BackticksRemover backticksRemover;
+    private ColumnNameForPropertyAndPathFetcher 
columnNameForPropertyAndPathFetcher;
 
 
     public JdbcEnvironment getJdbcEnvironment() {
@@ -195,11 +195,11 @@ public class GrailsDomainBinder
                 metadataCollector
                 , rootMappingDefaults
         );
-        this.backticksRemover = new BackticksRemover();
+        BackticksRemover backticksRemover = new BackticksRemover();
         PersistentEntityNamingStrategy namingStrategy = getNamingStrategy();
         JdbcEnvironment jdbcEnvironment = getJdbcEnvironment();
         this.defaultColumnNameFetcher = new 
DefaultColumnNameFetcher(namingStrategy, backticksRemover);
-        ColumnNameForPropertyAndPathFetcher 
columnNameForPropertyAndPathFetcher = new 
ColumnNameForPropertyAndPathFetcher(namingStrategy, defaultColumnNameFetcher, 
backticksRemover);
+        this.columnNameForPropertyAndPathFetcher = new 
ColumnNameForPropertyAndPathFetcher(namingStrategy, defaultColumnNameFetcher, 
backticksRemover);
         SimpleValueBinder simpleValueBinder = new 
SimpleValueBinder(namingStrategy, jdbcEnvironment);
         EnumTypeBinder enumTypeBinderToUse = enumTypeBinder != null ? 
enumTypeBinder : new EnumTypeBinder();
         SimpleValueColumnFetcher simpleValueColumnFetcher = new 
SimpleValueColumnFetcher();
@@ -343,7 +343,7 @@ public class GrailsDomainBinder
             TenantId tenantId = entity.getTenantId();
 
             if (tenantId != null) {
-                String filterCondition = 
entity.getMultiTenantFilterCondition(new 
DefaultColumnNameFetcher(getNamingStrategy()));
+                String filterCondition = 
entity.getMultiTenantFilterCondition(defaultColumnNameFetcher);
 
                 persistentClass.addFilter(
                         GormProperties.TENANT_IDENTITY,
@@ -480,7 +480,7 @@ public class GrailsDomainBinder
         SimpleValue key = new DependantValue(metadataBuildingContext, mytable, 
joinedSubclass.getIdentifier());
         joinedSubclass.setKey(key);
         var identifier = sub.getIdentity();
-        String columnName = new 
ColumnNameForPropertyAndPathFetcher(getNamingStrategy(), 
defaultColumnNameFetcher, 
backticksRemover).getColumnNameForPropertyAndPath(identifier, EMPTY_PATH, null);
+        String columnName = 
columnNameForPropertyAndPathFetcher.getColumnNameForPropertyAndPath(identifier, 
EMPTY_PATH, null);
         new SimpleValueColumnBinder().bindSimpleValue(key, 
identifier.getType().getName(), columnName, false);
 
         joinedSubclass.createPrimaryKey();
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java
index dcdb8b47ae..9f6ded1bda 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SimpleValueBinder.java
@@ -32,7 +32,6 @@ public class SimpleValueBinder {
     private final JdbcEnvironment jdbcEnvironment;
     private final GrailsSequenceWrapper grailsSequenceWrapper;
 
-    private static final String SEQUENCE_KEY = 
GrailsSequenceGeneratorEnum.SEQUENCE.toString();
 
     /**
      * Public constructor that accepts all collaborators.

Reply via email to