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

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

commit f23bc9424b53088f68a13fa290c88e0c38cecc16
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Mar 14 11:32:20 2026 -0500

    hibernate 7:  clean up ClassPropertiesBinder.bindClassProperties
---
 .../binder/ClassPropertiesBinder.java              | 11 +++++-----
 .../domainbinding/binder/GrailsDomainBinder.java   |  1 -
 .../cfg/domainbinding/binder/RootBinder.java       |  3 ---
 .../RootPersistentClassCommonValuesBinder.java     | 24 +++++++++++-----------
 .../binder/SubclassMappingBinder.java              |  6 +++---
 .../binder/ClassPropertiesBinderSpec.groovy        | 11 ++++++----
 ...ootPersistentClassCommonValuesBinderSpec.groovy |  5 +++--
 .../binder/SubclassMappingBinderSpec.groovy        | 17 +++++++++------
 8 files changed, 42 insertions(+), 36 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java
index 0a330982f2..5d753eddce 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java
@@ -26,6 +26,7 @@ import org.hibernate.mapping.Table;
 import org.hibernate.mapping.Value;
 
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty;
 import 
org.grails.orm.hibernate.cfg.domainbinding.util.PropertyFromValueCreator;
 
@@ -58,18 +59,18 @@ public class ClassPropertiesBinder {
         this(grailsPropertyBinder, propertyFromValueCreator, new 
NaturalIdentifierBinder());
     }
 
-    public void bindClassProperties(
-            @Nonnull GrailsHibernatePersistentEntity domainClass, 
PersistentClass persistentClass) {
+    public void bindClassProperties(HibernatePersistentEntity 
hibernatePersistentEntity) {
+        PersistentClass persistentClass = 
hibernatePersistentEntity.getPersistentClass();
         @Nonnull Table table = getTable(persistentClass);
-        table.setComment(domainClass.getComment());
+        table.setComment(hibernatePersistentEntity.getComment());
 
-        for (HibernatePersistentProperty currentGrailsProp : 
domainClass.getPersistentPropertiesToBind()) {
+        for (HibernatePersistentProperty currentGrailsProp : 
hibernatePersistentEntity.getPersistentPropertiesToBind()) {
             Value value = grailsPropertyBinder.bindProperty(
                     persistentClass, table, GrailsDomainBinder.EMPTY_PATH, 
null, currentGrailsProp);
             
persistentClass.addProperty(propertyFromValueCreator.createProperty(value, 
currentGrailsProp));
         }
 
-        naturalIdentifierBinder.bindNaturalIdentifier(domainClass, 
persistentClass);
+        
naturalIdentifierBinder.bindNaturalIdentifier(hibernatePersistentEntity, 
persistentClass);
     }
 
     @Nonnull
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java
index 55ec7a0b33..a097be1eef 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/GrailsDomainBinder.java
@@ -36,7 +36,6 @@ import org.grails.orm.hibernate.cfg.HibernateMappingContext;
 import org.grails.orm.hibernate.cfg.MappingCacheHolder;
 import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy;
 import 
org.grails.orm.hibernate.cfg.domainbinding.collectionType.CollectionHolder;
-import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity;
 import org.grails.orm.hibernate.cfg.domainbinding.util.BackticksRemover;
 import org.grails.orm.hibernate.cfg.domainbinding.util.BasicValueIdCreator;
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java
index 27221cdece..24125be882 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootBinder.java
@@ -18,8 +18,6 @@
  */
 package org.grails.orm.hibernate.cfg.domainbinding.binder;
 
-import java.util.Collection;
-import java.util.List;
 import java.util.stream.Stream;
 
 import jakarta.annotation.Nonnull;
@@ -32,7 +30,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.grails.orm.hibernate.cfg.MappingCacheHolder;
-import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity;
 import org.grails.orm.hibernate.cfg.domainbinding.util.MultiTenantFilterBinder;
 
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java
index d929459d96..e515fd9bc9 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinder.java
@@ -60,15 +60,15 @@ public class RootPersistentClassCommonValuesBinder {
         this.mappings = mappings;
     }
 
-    public RootClass bindRoot(@Nonnull HibernatePersistentEntity domainClass) {
+    public RootClass bindRoot(@Nonnull HibernatePersistentEntity 
hibernatePersistentEntity) {
 
         RootClass root = new RootClass(this.metadataBuildingContext);
-        classBinder.bindClass(domainClass, root);
+        classBinder.bindClass(hibernatePersistentEntity, root);
 
         // get the schema and catalog names from the configuration
-        Mapping gormMapping = domainClass.getMappedForm();
+        Mapping gormMapping = hibernatePersistentEntity.getMappedForm();
 
-        domainClass.configureDerivedProperties();
+        hibernatePersistentEntity.configureDerivedProperties();
         CacheConfig cc = gormMapping.getCache();
         if (cc != null && cc.getEnabled()) {
             root.setCacheConcurrencyStrategy(cc.getUsage().toString());
@@ -79,30 +79,30 @@ public class RootPersistentClassCommonValuesBinder {
             
root.setLazyPropertiesCacheable(!"non-lazy".equalsIgnoreCase(cc.getInclude().toString()));
         }
 
-        var schema = domainClass.getSchema(mappings);
+        var schema = hibernatePersistentEntity.getSchema(mappings);
 
-        var catalog = domainClass.getCatalog(mappings);
+        var catalog = hibernatePersistentEntity.getCatalog(mappings);
 
         // create the table
         var table = mappings.addTable(
                 schema,
                 catalog,
-                domainClass.getTableName(namingStrategy),
+                hibernatePersistentEntity.getTableName(namingStrategy),
                 null,
-                domainClass.isTableAbstract(),
+                hibernatePersistentEntity.isTableAbstract(),
                 metadataBuildingContext);
         root.setTable(table);
         if (LOG.isDebugEnabled()) {
             LOG.debug("[GrailsDomainBinder] Mapping Grails domain class: "
-                    + domainClass.getName()
+                    + hibernatePersistentEntity.getName()
                     + " -> "
                     + root.getTable().getName());
         }
 
-        identityBinder.bindIdentity(domainClass, root);
-        versionBinder.bindVersion(domainClass.getVersion(), root);
+        identityBinder.bindIdentity(hibernatePersistentEntity, root);
+        versionBinder.bindVersion(hibernatePersistentEntity.getVersion(), 
root);
         root.createPrimaryKey();
-        classPropertiesBinder.bindClassProperties(domainClass, root);
+        classPropertiesBinder.bindClassProperties(hibernatePersistentEntity);
 
         return root;
     }
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java
index 069c3bd3c3..f23f9072ff 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinder.java
@@ -27,6 +27,7 @@ import org.hibernate.mapping.Subclass;
 import org.grails.orm.hibernate.cfg.GrailsHibernateUtil;
 import org.grails.orm.hibernate.cfg.Mapping;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity;
 
 public class SubclassMappingBinder {
 
@@ -46,8 +47,7 @@ public class SubclassMappingBinder {
         this.classPropertiesBinder = classPropertiesBinder;
     }
 
-    public @NonNull Subclass createSubclassMapping(
-            @NonNull GrailsHibernatePersistentEntity subEntity, 
PersistentClass parent) {
+    public @NonNull Subclass createSubclassMapping(HibernatePersistentEntity 
subEntity, PersistentClass parent) {
         Subclass subClass;
         subEntity.configureDerivedProperties();
         Mapping m = subEntity.getMappedForm();
@@ -66,7 +66,7 @@ public class SubclassMappingBinder {
         subClass.setAbstract(subEntity.isAbstract());
         subClass.setEntityName(subEntity.getName());
         
subClass.setJpaEntityName(GrailsHibernateUtil.unqualify(subEntity.getName()));
-        classPropertiesBinder.bindClassProperties(subEntity, subClass);
+        classPropertiesBinder.bindClassProperties(subEntity);
         return subClass;
     }
 }
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinderSpec.groovy
index cda787c22b..51bd749cba 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinderSpec.groovy
@@ -1,7 +1,9 @@
 package org.grails.orm.hibernate.cfg.domainbinding.binder
 
+import org.hibernate.mapping.Table
+
 import grails.gorm.specs.HibernateGormDatastoreSpec
-import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty
 import org.grails.orm.hibernate.cfg.Mapping
 import org.grails.orm.hibernate.cfg.domainbinding.util.PropertyFromValueCreator
@@ -19,9 +21,10 @@ class ClassPropertiesBinderSpec extends 
HibernateGormDatastoreSpec {
         def naturalIdentifierBinder = Mock(NaturalIdentifierBinder)
         def binder = new ClassPropertiesBinder(grailsPropertyBinder, 
propertyFromValueCreator, naturalIdentifierBinder)
 
-        def domainClass = Mock(GrailsHibernatePersistentEntity)
+        def domainClass = Mock(HibernatePersistentEntity)
         def persistentClass = new 
RootClass(getGrailsDomainBinder().getMetadataBuildingContext())
-        persistentClass.setTable(new org.hibernate.mapping.Table("test"))
+        persistentClass.setTable(new Table("test"))
+        domainClass.getPersistentClass() >> persistentClass
         def mappings = Mock(InFlightMetadataCollector)
         def sessionFactoryBeanName = "sessionFactory"
 
@@ -43,7 +46,7 @@ class ClassPropertiesBinderSpec extends 
HibernateGormDatastoreSpec {
         domainClass.getMappedForm() >> mapping
 
         when:
-        binder.bindClassProperties(domainClass, persistentClass)
+        binder.bindClassProperties(domainClass)
 
         then:
         1 * grailsPropertyBinder.bindProperty(persistentClass, 
persistentClass.table, GrailsDomainBinder.EMPTY_PATH, null, prop1) >> value1
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy
index 7c50d612a0..fbe30d86b7 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/RootPersistentClassCommonValuesBinderSpec.groovy
@@ -5,6 +5,7 @@ import grails.gorm.specs.HibernateGormDatastoreSpec
 import org.hibernate.mapping.RootClass
 import org.hibernate.boot.spi.MetadataBuildingContext
 import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity
 import org.grails.orm.hibernate.cfg.domainbinding.util.BasicValueIdCreator
 
 import org.hibernate.mapping.BasicValue
@@ -49,14 +50,14 @@ class RootPersistentClassCommonValuesBinderSpec extends 
HibernateGormDatastoreSp
 
     void "test bindRootPersistentClassCommonValues binds properties 
correctly"() {
         given:
-        def entity = createPersistentEntity(TestEntity)
+        def entity = createPersistentEntity(TestEntity) as 
HibernatePersistentEntity
         def mappings = getCollector()
 
         when:
         RootClass rootClass = binder.bindRoot(entity)
 
         then:
-        1 * classPropertiesBinder.bindClassProperties(entity, _)
+        1 * classPropertiesBinder.bindClassProperties(entity)
         rootClass != null
         rootClass.getEntityName() == TestEntity.name
         rootClass.isAbstract() == false
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy
index 7dab314e0b..a05b205e94 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/SubclassMappingBinderSpec.groovy
@@ -10,6 +10,8 @@ import org.hibernate.mapping.SingleTableSubclass
 import org.hibernate.mapping.Subclass
 import org.hibernate.mapping.UnionSubclass
 
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity
+
 class SubclassMappingBinderSpec extends HibernateGormDatastoreSpec {
 
     SubclassMappingBinder binder
@@ -38,7 +40,8 @@ class SubclassMappingBinderSpec extends 
HibernateGormDatastoreSpec {
     def "test createSubclassMapping for single table inheritance"() {
         given:
         createPersistentEntity(SMBSSingleSuper)
-        def subEntity = createPersistentEntity(SMBSSingleSub)
+        // Cast the created persistent entity to HibernatePersistentEntity
+        def subEntity = createPersistentEntity(SMBSSingleSub) as 
HibernatePersistentEntity
         def rootClass = new RootClass(metadataBuildingContext)
         rootClass.setEntityName(SMBSSingleSuper.name)
         rootClass.setJpaEntityName(SMBSSingleSuper.name)
@@ -54,7 +57,7 @@ class SubclassMappingBinderSpec extends 
HibernateGormDatastoreSpec {
             s.setEntityName(subEntity.getName())
             s
         }
-        1 * classPropertiesBinder.bindClassProperties(subEntity, _ as Subclass)
+        1 * classPropertiesBinder.bindClassProperties(subEntity)
         subClass instanceof SingleTableSubclass
         subClass.getEntityName() == SMBSSingleSub.name
     }
@@ -62,7 +65,8 @@ class SubclassMappingBinderSpec extends 
HibernateGormDatastoreSpec {
     def "test createSubclassMapping for joined table inheritance"() {
         given:
         createPersistentEntity(SMBSJoinedSuper)
-        def subEntity = createPersistentEntity(SMBSJoinedSub)
+        // Cast the created persistent entity to HibernatePersistentEntity
+        def subEntity = createPersistentEntity(SMBSJoinedSub) as 
HibernatePersistentEntity
         def rootClass = new RootClass(metadataBuildingContext)
         rootClass.setEntityName(SMBSJoinedSuper.name)
         rootClass.setJpaEntityName(SMBSJoinedSuper.name)
@@ -78,7 +82,7 @@ class SubclassMappingBinderSpec extends 
HibernateGormDatastoreSpec {
             s.setEntityName(subEntity.getName())
             s
         }
-        1 * classPropertiesBinder.bindClassProperties(subEntity, _ as Subclass)
+        1 * classPropertiesBinder.bindClassProperties(subEntity)
         subClass instanceof JoinedSubclass
         subClass.getEntityName() == SMBSJoinedSub.name
     }
@@ -86,7 +90,8 @@ class SubclassMappingBinderSpec extends 
HibernateGormDatastoreSpec {
     def "test createSubclassMapping for table per concrete class 
inheritance"() {
         given:
         createPersistentEntity(SMBSUnionSuper)
-        def subEntity = createPersistentEntity(SMBSUnionSub)
+        // Cast the created persistent entity to HibernatePersistentEntity
+        def subEntity = createPersistentEntity(SMBSUnionSub) as 
HibernatePersistentEntity
         def rootClass = new RootClass(metadataBuildingContext)
         rootClass.setEntityName(SMBSUnionSuper.name)
         rootClass.setJpaEntityName(SMBSUnionSuper.name)
@@ -102,7 +107,7 @@ class SubclassMappingBinderSpec extends 
HibernateGormDatastoreSpec {
             s.setEntityName(subEntity.getName())
             s
         }
-        1 * classPropertiesBinder.bindClassProperties(subEntity, _ as Subclass)
+        1 * classPropertiesBinder.bindClassProperties(subEntity)
         subClass instanceof UnionSubclass
         subClass.getEntityName() == SMBSUnionSub.name
     }

Reply via email to