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 7bcd30fa9354df38982ae3867085c65a435f153d
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Wed Feb 4 19:02:06 2026 -0600

    GrailsHibernatePersistentProperty
---
 .../hibernate/cfg/GrailsHibernatePersistentProperty.java   | 14 ++++++--------
 .../orm/hibernate/cfg/domainbinding/EnumTypeBinder.java    |  8 ++------
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentProperty.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentProperty.java
index 0976f5993e..6ecf3787a2 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentProperty.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentProperty.java
@@ -19,14 +19,7 @@ public interface GrailsHibernatePersistentProperty extends 
PersistentProperty<Pr
      */
     default String getTypeName() {
         GrailsHibernatePersistentEntity owner = getHibernateOwner();
-        return getTypeName(owner != null ? owner.getMappedForm() : null);
-    }
-
-    /**
-     * @param mapping The mapping
-     * @return The type name
-     */
-    default String getTypeName(Mapping mapping) {
+        Mapping mapping = owner != null ? owner.getMappedForm() : null;
         return getTypeName(getMappedForm(), mapping);
     }
 
@@ -110,4 +103,9 @@ public interface GrailsHibernatePersistentProperty extends 
PersistentProperty<Pr
     default boolean isSerializableType() {
         return "serializable".equals(getTypeName());
     }
+
+    default boolean isTablePerHierarchySubclass() {
+        Mapping ownerMapping = getHibernateOwner().getMappedForm();
+        return !getHibernateOwner().isRoot() && (ownerMapping == null || 
ownerMapping.getTablePerHierarchy());
+    }
 }
\ No newline at end of file
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/EnumTypeBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/EnumTypeBinder.java
index 8e9bae6899..91292334de 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/EnumTypeBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/EnumTypeBinder.java
@@ -41,14 +41,10 @@ public class EnumTypeBinder {
 
     public void bindEnumType(GrailsHibernatePersistentProperty property, 
Class<?> propertyType, SimpleValue simpleValue, String columnName) {
         PropertyConfig pc = property.getMappedForm();
-        Mapping ownerMapping = null;
-        if (property.getOwner() instanceof GrailsHibernatePersistentEntity 
persistentEntity) {
-            ownerMapping = persistentEntity.getMappedForm();
-        }
         String enumType = pc.getEnumType();
         Properties enumProperties = new Properties();
         enumProperties.put(ENUM_CLASS_PROP, propertyType.getName());
-        String typeName = property.getTypeName(ownerMapping);
+        String typeName = property.getTypeName();
         if (typeName != null) {
             simpleValue.setTypeName(typeName);
         } else {
@@ -70,7 +66,7 @@ public class EnumTypeBinder {
         simpleValue.setTypeParameters(enumProperties);
 
         Column column = new Column();
-        boolean isTablePerHierarchySubclass = !property.getOwner().isRoot() && 
(ownerMapping == null || ownerMapping.getTablePerHierarchy());
+        boolean isTablePerHierarchySubclass = 
property.isTablePerHierarchySubclass();
         if (isTablePerHierarchySubclass) {
             // Properties on subclasses in a table-per-hierarchy strategy must 
be nullable.
             if (LOG.isDebugEnabled()) {

Reply via email to