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 d412c74b72fbb7b5253c6eb287efd00a30fe2822
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Wed Mar 4 21:51:34 2026 -0600

    cleanup(hibernate7): DefaultColumnNameFetcher
---
 .../cfg/domainbinding/util/CreateKeyForProps.java  | 28 ++++++++++------------
 .../util/DefaultColumnNameFetcher.java             |  9 ++++---
 .../cfg/domainbinding/CreateKeyForPropsSpec.groovy | 20 ++++++++--------
 3 files changed, 27 insertions(+), 30 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CreateKeyForProps.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CreateKeyForProps.java
index 8d582ef726..bbbfb33a26 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CreateKeyForProps.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CreateKeyForProps.java
@@ -19,10 +19,9 @@
 package org.grails.orm.hibernate.cfg.domainbinding.util;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
-import org.grails.datastore.mapping.model.PersistentEntity;
 import org.grails.orm.hibernate.cfg.PropertyConfig;
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty;
 import org.hibernate.MappingException;
 import org.hibernate.mapping.Column;
@@ -56,20 +55,19 @@ public class CreateKeyForProps {
       List<Column> keyList = new ArrayList<>();
       keyList.add(new Column(columnName));
       List<String> propertyNames = mappedForm.getUniquenessGroup();
-      PersistentEntity owner = grailsProp.getOwner();
-      for (Iterator<?> i = propertyNames.iterator(); i.hasNext(); ) {
-        String propertyName = (String) i.next();
-        HibernatePersistentProperty otherProp =
-            (HibernatePersistentProperty) 
owner.getPropertyByName(propertyName);
-        if (otherProp == null) {
-          throw new MappingException(
-              owner.getJavaClass().getName() + " references an unknown 
property " + propertyName);
+      GrailsHibernatePersistentEntity owner = grailsProp.getHibernateOwner();
+        for (String propertyName : propertyNames) {
+            HibernatePersistentProperty otherProp =
+                    (HibernatePersistentProperty) 
owner.getPropertyByName(propertyName);
+            if (otherProp == null) {
+                throw new MappingException(
+                        owner.getJavaClass().getName() + " references an 
unknown property " + propertyName);
+            }
+            String otherColumnName =
+                    
columnNameForPropertyAndPathFetcher.getColumnNameForPropertyAndPath(
+                            otherProp, path, null);
+            keyList.add(new Column(otherColumnName));
         }
-        String otherColumnName =
-            
columnNameForPropertyAndPathFetcher.getColumnNameForPropertyAndPath(
-                otherProp, path, null);
-        keyList.add(new Column(otherColumnName));
-      }
 
       uniqueKeyForColumnsCreator.createUniqueKeyForColumns(table, keyList);
     }
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/DefaultColumnNameFetcher.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/DefaultColumnNameFetcher.java
index 7bea16b7cd..bc79022598 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/DefaultColumnNameFetcher.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/DefaultColumnNameFetcher.java
@@ -18,12 +18,12 @@
  */
 package org.grails.orm.hibernate.cfg.domainbinding.util;
 
-import org.grails.datastore.mapping.model.types.Association;
-import org.grails.datastore.mapping.model.types.Basic;
 import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy;
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateAssociation;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateManyToManyProperty;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateOneToManyProperty;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty;
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyProperty;
 
 @SuppressWarnings("PMD.DataflowAnomalyAnalysis")
 public class DefaultColumnNameFetcher {
@@ -48,9 +48,8 @@ public class DefaultColumnNameFetcher {
   public String getDefaultColumnName(HibernatePersistentProperty property) {
 
     String columnName = 
namingStrategyWrapper.resolveColumnName(property.getName());
-    if (property instanceof Association) {
-      Association association = (Association) property;
-      boolean isBasic = property instanceof Basic;
+    if (property instanceof HibernateAssociation association) {
+      boolean isBasic = property instanceof HibernateToManyProperty toMany && 
toMany.isBasic();
       if (isBasic && (property.getMappedForm()).getType() != null) {
         return columnName;
       }
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CreateKeyForPropsSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CreateKeyForPropsSpec.groovy
index 9b5277bcae..79ca66422d 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CreateKeyForPropsSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CreateKeyForPropsSpec.groovy
@@ -1,6 +1,6 @@
 package org.grails.orm.hibernate.cfg.domainbinding
 
-import org.grails.datastore.mapping.model.PersistentEntity
+import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersistentEntity
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty
 import org.hibernate.MappingException
 import org.hibernate.mapping.Table
@@ -18,9 +18,9 @@ class CreateKeyForPropsSpec extends Specification {
         def uniqueKeyCreator = Mock(UniqueKeyForColumnsCreator)
         def subject = new CreateKeyForProps(columnNameFetcher, 
uniqueKeyCreator)
 
-        def owner = Mock(PersistentEntity)
+        def owner = Mock(GrailsHibernatePersistentEntity)
         def grailsProp = Mock(HibernatePersistentProperty) {
-            getOwner() >> owner
+            getHibernateOwner() >> owner
         }
 
         def mappedForm = Mock(org.grails.orm.hibernate.cfg.PropertyConfig) {
@@ -47,7 +47,7 @@ class CreateKeyForPropsSpec extends Specification {
 
         then:
         1 * grailsProp.getMappedForm() >> mappedForm
-        1 * grailsProp.getOwner() >> owner
+        1 * grailsProp.getHibernateOwner() >> owner
         1 * mappedForm.isUnique() >> true
         1 * mappedForm.isUniqueWithinGroup() >> true
         1 * mappedForm.getUniquenessGroup() >> ["p1", "p2"]
@@ -64,8 +64,8 @@ class CreateKeyForPropsSpec extends Specification {
         def uniqueKeyCreator = Mock(UniqueKeyForColumnsCreator)
         def subject = new CreateKeyForProps(columnNameFetcher, 
uniqueKeyCreator)
 
-        def owner = Mock(PersistentEntity)
-        def grailsProp = Mock(HibernatePersistentProperty) { getOwner() >> 
owner }
+        def owner = Mock(GrailsHibernatePersistentEntity)
+        def grailsProp = Mock(HibernatePersistentProperty) { 
getHibernateOwner() >> owner }
 
         def mappedForm = Mock(org.grails.orm.hibernate.cfg.PropertyConfig) {
             isUnique() >> false
@@ -79,7 +79,7 @@ class CreateKeyForPropsSpec extends Specification {
 
         then:
         1 * grailsProp.getMappedForm() >> mappedForm
-        0 * grailsProp.getOwner() >> owner
+        0 * grailsProp.getHibernateOwner() >> owner
         1 * mappedForm.isUnique() >> false
         0 * uniqueKeyCreator._
         0 * columnNameFetcher._
@@ -91,8 +91,8 @@ class CreateKeyForPropsSpec extends Specification {
         def uniqueKeyCreator = Mock(UniqueKeyForColumnsCreator)
         def subject = new CreateKeyForProps(columnNameFetcher, 
uniqueKeyCreator)
 
-        def owner = Mock(PersistentEntity)
-        def grailsProp = Mock(HibernatePersistentProperty) { getOwner() >> 
owner }
+        def owner = Mock(GrailsHibernatePersistentEntity)
+        def grailsProp = Mock(HibernatePersistentProperty) { 
getHibernateOwner() >> owner }
         owner.getJavaClass() >> CreateKeyForPropsSpec
 
         def mappedForm = Mock(org.grails.orm.hibernate.cfg.PropertyConfig) {
@@ -110,7 +110,7 @@ class CreateKeyForPropsSpec extends Specification {
         then:
         thrown(MappingException)
         1 * grailsProp.getMappedForm() >> mappedForm
-        1 * grailsProp.getOwner() >> owner
+        1 * grailsProp.getHibernateOwner() >> owner
         1 * mappedForm.isUnique() >> true
         1 * mappedForm.isUniqueWithinGroup() >> true
         1 * mappedForm.getUniquenessGroup() >> ["missingProp"]

Reply via email to