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 e5ec2d7b9b6b09461e15b3fe489de355735e58fa
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Wed Feb 18 21:04:48 2026 -0600

    Inject ColumnConfigToColumnBinder and SimpleValueColumnBinder into 
CollectionWithJoinTableBinder
---
 .../cfg/domainbinding/binder/CollectionBinder.java         |  4 +++-
 .../secondpass/CollectionWithJoinTableBinder.java          | 14 ++++++++++----
 .../secondpass/CollectionWithJoinTableBinderSpec.groovy    |  8 +++++++-
 .../secondpass/UnidirectionalOneToManyBinderSpec.groovy    |  6 +++++-
 4 files changed, 25 insertions(+), 7 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
index c59f9b5cff..e690bf8207 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
@@ -85,7 +85,9 @@ public class CollectionBinder {
                 enumTypeBinder,
                 compositeIdentifierToManyToOneBinder,
                 simpleValueColumnFetcher,
-                collectionForPropertyConfigBinder
+                collectionForPropertyConfigBinder,
+                new SimpleValueColumnBinder(),
+                new ColumnConfigToColumnBinder()
         );
         this.unidirectionalOneToManyBinder = new 
UnidirectionalOneToManyBinder(collectionWithJoinTableBinder);
         this.collectionSecondPassBinder = new CollectionSecondPassBinder(
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java
index 4d4faec043..55a60fa885 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java
@@ -34,6 +34,8 @@ public class CollectionWithJoinTableBinder {
     private final CompositeIdentifierToManyToOneBinder 
compositeIdentifierToManyToOneBinder;
     private final SimpleValueColumnFetcher simpleValueColumnFetcher;
     private final CollectionForPropertyConfigBinder 
collectionForPropertyConfigBinder;
+    private final SimpleValueColumnBinder simpleValueColumnBinder;
+    private final ColumnConfigToColumnBinder columnConfigToColumnBinder;
 
     public CollectionWithJoinTableBinder(
             MetadataBuildingContext metadataBuildingContext,
@@ -42,7 +44,9 @@ public class CollectionWithJoinTableBinder {
             EnumTypeBinder enumTypeBinder,
             CompositeIdentifierToManyToOneBinder 
compositeIdentifierToManyToOneBinder,
             SimpleValueColumnFetcher simpleValueColumnFetcher,
-            CollectionForPropertyConfigBinder 
collectionForPropertyConfigBinder) {
+            CollectionForPropertyConfigBinder 
collectionForPropertyConfigBinder,
+            SimpleValueColumnBinder simpleValueColumnBinder,
+            ColumnConfigToColumnBinder columnConfigToColumnBinder) {
         this.metadataBuildingContext = metadataBuildingContext;
         this.namingStrategy = namingStrategy;
         this.unidirectionalOneToManyInverseValuesBinder = 
unidirectionalOneToManyInverseValuesBinder;
@@ -50,6 +54,8 @@ public class CollectionWithJoinTableBinder {
         this.compositeIdentifierToManyToOneBinder = 
compositeIdentifierToManyToOneBinder;
         this.simpleValueColumnFetcher = simpleValueColumnFetcher;
         this.collectionForPropertyConfigBinder = 
collectionForPropertyConfigBinder;
+        this.simpleValueColumnBinder = simpleValueColumnBinder;
+        this.columnConfigToColumnBinder = columnConfigToColumnBinder;
     }
 
     public void bindCollectionWithJoinTable(@Nonnull HibernateToManyProperty 
property,
@@ -100,12 +106,12 @@ public class CollectionWithJoinTableBinder {
                     throw new MappingException("Missing type or column for 
column["+columnName+"] on domain["+domainName+"] referencing["+className+"]");
                 }
 
-                new SimpleValueColumnBinder().bindSimpleValue(element, 
typeName, columnName, true);
+                simpleValueColumnBinder.bindSimpleValue(element, typeName, 
columnName, true);
                 if (joinColumnMappingOptional.isPresent()) {
                     Column column = 
simpleValueColumnFetcher.getColumnForSimpleValue(element);
                     ColumnConfig columnConfig = 
joinColumnMappingOptional.get();
                     final PropertyConfig mappedForm = property.getMappedForm();
-                    new 
ColumnConfigToColumnBinder().bindColumnConfigToColumn(column, columnConfig, 
mappedForm);
+                    
columnConfigToColumnBinder.bindColumnConfigToColumn(column, columnConfig, 
mappedForm);
                 }
             }
         } else {
@@ -128,7 +134,7 @@ public class CollectionWithJoinTableBinder {
                     columnName = 
namingStrategy.resolveColumnName(decapitalize) + FOREIGN_KEY_SUFFIX;
                 }
 
-                new SimpleValueColumnBinder().bindSimpleValue(element, "long", 
columnName, true);
+                simpleValueColumnBinder.bindSimpleValue(element, "long", 
columnName, true);
             }
         }
 
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinderSpec.groovy
index 27ff1401ab..78afb75e0a 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinderSpec.groovy
@@ -5,8 +5,10 @@ import grails.gorm.specs.HibernateGormDatastoreSpec
 import org.grails.datastore.mapping.model.PersistentEntity
 import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentProperty
 import 
org.grails.orm.hibernate.cfg.domainbinding.binder.CollectionForPropertyConfigBinder
+import 
org.grails.orm.hibernate.cfg.domainbinding.binder.ColumnConfigToColumnBinder
 import 
org.grails.orm.hibernate.cfg.domainbinding.binder.CompositeIdentifierToManyToOneBinder
 import org.grails.orm.hibernate.cfg.domainbinding.binder.EnumTypeBinder
+import 
org.grails.orm.hibernate.cfg.domainbinding.binder.SimpleValueColumnBinder
 import org.grails.orm.hibernate.cfg.domainbinding.util.SimpleValueColumnFetcher
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyProperty
 import org.hibernate.boot.spi.InFlightMetadataCollector
@@ -28,6 +30,8 @@ class CollectionWithJoinTableBinderSpec extends 
HibernateGormDatastoreSpec {
     CompositeIdentifierToManyToOneBinder compositeIdentifierToManyToOneBinder 
= Mock(CompositeIdentifierToManyToOneBinder)
     SimpleValueColumnFetcher simpleValueColumnFetcher = 
Mock(SimpleValueColumnFetcher)
     CollectionForPropertyConfigBinder collectionForPropertyConfigBinder = 
Mock(CollectionForPropertyConfigBinder)
+    SimpleValueColumnBinder simpleValueColumnBinder = new 
SimpleValueColumnBinder()
+    ColumnConfigToColumnBinder columnConfigToColumnBinder = new 
ColumnConfigToColumnBinder()
 
     void setup() {
         def domainBinder = getGrailsDomainBinder()
@@ -38,7 +42,9 @@ class CollectionWithJoinTableBinderSpec extends 
HibernateGormDatastoreSpec {
                 enumTypeBinder,
                 compositeIdentifierToManyToOneBinder,
                 simpleValueColumnFetcher,
-                collectionForPropertyConfigBinder
+                collectionForPropertyConfigBinder,
+                simpleValueColumnBinder,
+                columnConfigToColumnBinder
         )
     }
 
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/UnidirectionalOneToManyBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/UnidirectionalOneToManyBinderSpec.groovy
index 27e9fb780f..5b718a0b25 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/UnidirectionalOneToManyBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/UnidirectionalOneToManyBinderSpec.groovy
@@ -5,8 +5,10 @@ import grails.persistence.Entity
 import org.grails.orm.hibernate.cfg.GrailsDomainBinder
 import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentEntity
 import 
org.grails.orm.hibernate.cfg.domainbinding.binder.CollectionForPropertyConfigBinder
+import 
org.grails.orm.hibernate.cfg.domainbinding.binder.ColumnConfigToColumnBinder
 import 
org.grails.orm.hibernate.cfg.domainbinding.binder.CompositeIdentifierToManyToOneBinder
 import org.grails.orm.hibernate.cfg.domainbinding.binder.EnumTypeBinder
+import 
org.grails.orm.hibernate.cfg.domainbinding.binder.SimpleValueColumnBinder
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateOneToManyProperty
 import org.grails.orm.hibernate.cfg.domainbinding.util.BackticksRemover
 import 
org.grails.orm.hibernate.cfg.domainbinding.util.ColumnNameForPropertyAndPathFetcher
@@ -52,7 +54,9 @@ class UnidirectionalOneToManyBinderSpec extends 
HibernateGormDatastoreSpec {
                 enumTypeBinder,
                 compositeIdentifierToManyToOneBinder,
                 simpleValueColumnFetcher,
-                collectionForPropertyConfigBinder
+                collectionForPropertyConfigBinder,
+                new SimpleValueColumnBinder(),
+                new ColumnConfigToColumnBinder()
         )
         binder = new 
UnidirectionalOneToManyBinder(collectionWithJoinTableBinder)
     }

Reply via email to