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
