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.
