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

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

commit 6a4f9cd4d53a5879d5cc47bd54907370d7ac0a2e
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Jul 12 17:41:49 2025 -0500

    TypeNameProvider
---
 .../org/grails/orm/hibernate/cfg/GrailsDomainBinder.java   | 14 +++++++-------
 .../orm/hibernate/cfg/domainbinding/TypeNameProvider.java  | 11 +++++------
 .../cfg/domainbinding/TypeNameProviderSpec.groovy          |  9 ++++++---
 3 files changed, 18 insertions(+), 16 deletions(-)

diff --git 
a/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
 
b/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
index 8a61ddb898..185402701f 100644
--- 
a/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
+++ 
b/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
@@ -298,7 +298,7 @@ public class GrailsDomainBinder implements 
MetadataContributor {
 
             PropertyConfig config = getPropertyConfig(property);
             Mapping mapping = getMapping(property.getOwner());
-            String typeName = new TypeNameProvider().getTypeName(property, 
mapping);
+            String typeName = new TypeNameProvider().getTypeName(property, 
config, mapping);
             if (typeName == null ) {
 
                 if(property instanceof Basic) {
@@ -753,7 +753,7 @@ public class GrailsDomainBinder implements 
MetadataContributor {
             else {
 
                 Mapping mapping = getMapping(property.getOwner());
-                String typeName = new TypeNameProvider().getTypeName(property, 
mapping);
+                String typeName = new 
TypeNameProvider().getTypeName(property,config, mapping);
                 if (typeName == null) {
                     Type type = 
mappings.getTypeConfiguration().getBasicTypeRegistry().getRegisteredType(className);
                     if (type != null) {
@@ -1884,7 +1884,7 @@ public class GrailsDomainBinder implements 
MetadataContributor {
             }
             else if (collectionType != null) {
                 PropertyConfig config = getPropertyConfig(currentGrailsProp);
-                String typeName = new 
TypeNameProvider().getTypeName(currentGrailsProp, gormMapping);
+                String typeName = new 
TypeNameProvider().getTypeName(currentGrailsProp,config, gormMapping);
                 if ("serializable".equals(typeName)) {
                     value = new BasicValue(metadataBuildingContext, table);
                     bindSimpleValue(typeName, (SimpleValue) value, 
currentGrailsProp.isNullable(),
@@ -2071,7 +2071,7 @@ public class GrailsDomainBinder implements 
MetadataContributor {
         final PersistentEntity owner = property.getOwner();
         PropertyConfig config = getPropertyConfig(property);
         Mapping mapping1 = getMapping(owner);
-        String typeName = new TypeNameProvider().getTypeName(property, 
mapping1);
+        String typeName = new TypeNameProvider().getTypeName(property,config, 
mapping1);
         if (typeName == null) {
             Properties enumProperties = new Properties();
             enumProperties.put(ENUM_CLASS_PROP, propertyType.getName());
@@ -2899,7 +2899,7 @@ public class GrailsDomainBinder implements 
MetadataContributor {
 
     private void setTypeForPropertyConfig(PersistentProperty grailsProp, 
SimpleValue simpleValue, PropertyConfig config) {
         Mapping mapping = getMapping(grailsProp.getOwner());
-        final String typeName = new TypeNameProvider().getTypeName(grailsProp, 
mapping);
+        final String typeName = new 
TypeNameProvider().getTypeName(grailsProp,getPropertyConfig(grailsProp), 
mapping);
         if (typeName == null) {
             simpleValue.setTypeName(grailsProp.getType().getName());
         }
@@ -3187,7 +3187,7 @@ public class GrailsDomainBinder implements 
MetadataContributor {
         if (pc != null && pc.getIndexColumn() != null && 
pc.getIndexColumn().getType() != null) {
             PropertyConfig config = pc.getIndexColumn();
             Mapping mapping = getMapping(property.getOwner());
-            return new TypeNameProvider().getTypeName(property, mapping);
+            return new TypeNameProvider().getTypeName(property,config, 
mapping);
         }
         return defaultType;
     }
@@ -3554,7 +3554,7 @@ public class GrailsDomainBinder implements 
MetadataContributor {
         public String getTypeName(ToMany property) {
             PropertyConfig config = binder.getPropertyConfig(property);
             Mapping mapping = getMapping(property.getOwner());
-            return new TypeNameProvider().getTypeName(property, mapping);
+            return new TypeNameProvider().getTypeName(property,config, 
mapping);
         }
 
     }
diff --git 
a/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java
 
b/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java
index 6aa05e5dfd..ff16e2d07c 100644
--- 
a/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java
+++ 
b/grails-data-hibernate6/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java
@@ -9,9 +9,10 @@ import static java.util.Optional.ofNullable;
 
 public class TypeNameProvider {
 
-    public String getTypeName(@NotNull PersistentProperty property
-                                ,@NotNull Mapping mapping) {
-       return ofNullable(getPropertyConfig(property))
+    public String getTypeName( PersistentProperty property
+                                , PropertyConfig propertyConfig
+                                , @NotNull Mapping mapping) {
+       return ofNullable(propertyConfig)
                 .map(PropertyConfig::getType)
                 .map(typeObj -> typeObj instanceof Class<?> clazz ?
                         clazz.getName() : typeObj.toString()
@@ -19,9 +20,7 @@ public class TypeNameProvider {
                .orElse(mapping.getTypeName(property.getType()));
     }
 
-    private PropertyConfig getPropertyConfig(PersistentProperty property) {
-        return (PropertyConfig) property.getMapping().getMappedForm();
-    }
+
 }
 
 
diff --git 
a/grails-data-hibernate6/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProviderSpec.groovy
 
b/grails-data-hibernate6/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProviderSpec.groovy
index 14d276440c..ad8bde5622 100644
--- 
a/grails-data-hibernate6/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProviderSpec.groovy
+++ 
b/grails-data-hibernate6/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProviderSpec.groovy
@@ -22,7 +22,8 @@ class TypeNameProviderSpec extends HibernateGormDatastoreSpec 
{
         def property = persistentEntity.getPersistentProperties()[0]
         Mapping mapping = new Mapping()
         mapping.setUserTypes(["foo.Bar": persistentEntity.getJavaClass()])
-        def name = new TypeNameProvider().getTypeName(property, mapping)
+        def config = grailsDomainBinder.getPropertyConfig(property)
+        def name = new TypeNameProvider().getTypeName(property,config , 
mapping)
 
         then:
         name == "text"
@@ -38,7 +39,8 @@ class TypeNameProviderSpec extends HibernateGormDatastoreSpec 
{
         def persistentEntity = createPersistentEntity(grailsDomainBinder, 
simpleName, fieldProperties, mappingProperties)
         def property = persistentEntity.getPersistentProperties()[0]
         Mapping mapping = new Mapping()
-        def name = new TypeNameProvider().getTypeName(property, mapping)
+        def config = grailsDomainBinder.getPropertyConfig(property)
+        def name = new TypeNameProvider().getTypeName(property,config , 
mapping)
 
         then:
         name == "java.lang.String"
@@ -53,7 +55,8 @@ class TypeNameProviderSpec extends HibernateGormDatastoreSpec 
{
         def property = persistentEntity.getPersistentProperties()[0]
         Mapping mapping = new Mapping()
         mapping.setUserTypes([(Salary): SalaryType])
-        def name = new TypeNameProvider().getTypeName(property, mapping)
+        def config = grailsDomainBinder.getPropertyConfig(property)
+        def name = new TypeNameProvider().getTypeName(property,config , 
mapping)
 
         then:
         name == SalaryType.name

Reply via email to