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 8871de2c658404b7605bb6fd53fdb4ffc7e5ca0a
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Jul 5 21:37:58 2025 -0500

    mino refactoring
---
 .../grails/orm/hibernate/cfg/GrailsDomainBinder.java | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 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 df28d6aad7..d2b012aef8 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
@@ -65,6 +65,7 @@ import java.util.*;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import static java.util.Optional.ofNullable;
 
 /**
  * Handles the binding Grails domain classes and properties to the Hibernate 
runtime meta model.
@@ -1376,24 +1377,19 @@ public class GrailsDomainBinder implements 
MetadataContributor {
             LOG.info("[GrailsDomainBinder] Class [" + entity.getName() + "] is 
already mapped, skipping.. ");
             return;
         }
-
         RootClass root = new RootClass(this.metadataBuildingContext);
         root.setAbstract(entity.isAbstract());
-        final MappingContext mappingContext = entity.getMappingContext();
-
+        bindClass(entity, root, mappings);
+        bindRootPersistentClassCommonValues(entity, root, mappings, 
sessionFactoryBeanName);
 
+        var children = entity.getMappingContext()
+                .getDirectChildEntities(entity);
 
-        final java.util.Collection<PersistentEntity> children = 
mappingContext.getDirectChildEntities(entity);
         if (children.isEmpty()) {
             root.setPolymorphic(false);
-        }
-        bindClass(entity, root, mappings);
-
-        Mapping m = getMapping(entity);
-
-        bindRootPersistentClassCommonValues(entity, root, mappings, 
sessionFactoryBeanName);
-
-        if (!children.isEmpty()) {
+        } else {
+            root.setPolymorphic(true);
+            Mapping m = getMapping(entity);
             boolean tablePerSubclass = m != null && !m.getTablePerHierarchy();
             if (!tablePerSubclass) {
                 // if the root class has children create a discriminator 
property

Reply via email to