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 13ee527d1d94cc33b887586afc002fef59f4967b
Author: Walter B Duque de Estrada <[email protected]>
AuthorDate: Fri Jan 30 14:19:14 2026 -0600

    childEntities
---
 .../orm/hibernate/cfg/GrailsDomainBinder.java      | 28 +++++++++-------------
 1 file changed, 11 insertions(+), 17 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
index aa2d3460ce..c3ff8261bc 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
@@ -1122,8 +1122,7 @@ public class GrailsDomainBinder
         classBinding.bindClass(entity, root, mappings);
         bindRootPersistentClassCommonValues(entity, root, mappings, 
sessionFactoryBeanName);
 
-        var children = entity.getMappingContext()
-                .getDirectChildEntities(entity);
+        var children = entity.getChildEntities(dataSourceName);
 
         if (children.isEmpty()) {
             root.setPolymorphic(false);
@@ -1138,8 +1137,7 @@ public class GrailsDomainBinder
                 bindDiscriminatorProperty(root.getTable(), root, m);
             }
             // bind the sub classes
-            entity.getChildEntities(dataSourceName)
-                    .forEach(sub -> bindSubClass(sub, root, mappings, 
sessionFactoryBeanName, finalMapping,mappingCacheHolder ));
+            children.forEach(sub -> bindSubClass(sub, root, mappings, 
sessionFactoryBeanName, finalMapping,mappingCacheHolder ));
         }
 
         addMultiTenantFilterIfNecessary(entity, root, mappings, 
sessionFactoryBeanName);
@@ -1212,8 +1210,8 @@ public class GrailsDomainBinder
                             , Mapping m, MappingCacheHolder 
mappingCacheHolder) {
         mappingCacheHolder.cacheMapping(sub);
         Subclass subClass;
-        boolean tablePerSubclass = m != null && !m.getTablePerHierarchy() && 
!m.isTablePerConcreteClass();
-        boolean tablePerConcreteClass = m != null && 
m.isTablePerConcreteClass();
+        boolean tablePerSubclass = !m.getTablePerHierarchy() && 
!m.isTablePerConcreteClass();
+        boolean tablePerConcreteClass = m.isTablePerConcreteClass();
         final String fullName = sub.getName();
         if (tablePerSubclass) {
             subClass = new JoinedSubclass( parent, 
this.metadataBuildingContext);
@@ -1269,23 +1267,19 @@ public class GrailsDomainBinder
 
         addMultiTenantFilterIfNecessary(sub, subClass, mappings, 
sessionFactoryBeanName);
 
-        final java.util.Collection<PersistentEntity> childEntities = 
sub.getMappingContext().getDirectChildEntities(sub);
-        if (!childEntities.isEmpty()) {
+        var children = sub.getChildEntities(dataSourceName);
+        if (!children.isEmpty()) {
             // bind the sub classes
-            sub.getChildEntities(dataSourceName)
-                    .forEach(sub1 -> bindSubClass(sub1, subClass, mappings, 
sessionFactoryBeanName, m,mappingCacheHolder ));
+            children.forEach(sub1 -> bindSubClass(sub1, subClass, mappings, 
sessionFactoryBeanName, m,mappingCacheHolder ));
         }
     }
 
 
-    private void bindUnionSubclass(GrailsHibernatePersistentEntity subClass, 
UnionSubclass unionSubclass,
-                                  InFlightMetadataCollector mappings, String 
sessionFactoryBeanName) throws MappingException {
+    private void bindUnionSubclass(@Nonnull GrailsHibernatePersistentEntity 
subClass, UnionSubclass unionSubclass,
+                                  @Nonnull InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) throws MappingException {
         classBinding.bindClass(subClass, unionSubclass, mappings);
 
-        Mapping subMapping = null;
-        if (subClass != null) {
-            subMapping = subClass.getMappedForm();
-        }
+        Mapping subMapping = subClass.getMappedForm();
 
         //TODO Verify if needed at all
 //        if ( unionSubclass.getEntityPersisterClass() == null ) {
@@ -1401,7 +1395,7 @@ public class GrailsDomainBinder
     private void bindDiscriminatorProperty(Table table, RootClass entity, 
Mapping someMapping) {
         SimpleValue d = new BasicValue(metadataBuildingContext, table);
         entity.setDiscriminator(d);
-        DiscriminatorConfig discriminatorConfig = someMapping != null ? 
someMapping.getDiscriminator() : null;
+        DiscriminatorConfig discriminatorConfig = 
someMapping.getDiscriminator();
 
         boolean hasDiscriminatorConfig = discriminatorConfig != null;
         entity.setDiscriminatorValue(hasDiscriminatorConfig ? 
discriminatorConfig.getValue() : entity.getClassName());

Reply via email to