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 c87c957ff7d42f479e7c831d4435f37473f508b6
Author: Walter B Duque de Estrada <[email protected]>
AuthorDate: Fri Jan 30 11:59:44 2026 -0600

    @NonNull
---
 .../orm/hibernate/cfg/GrailsDomainBinder.java      | 74 ++++++++++------------
 .../hibernate/cfg/domainbinding/ClassBinder.java   |  4 +-
 .../cfg/domainbinding/ComponentBinder.java         |  4 +-
 .../cfg/domainbinding/ComponentPropertyBinder.java |  6 +-
 .../cfg/domainbinding/CompositeIdBinder.java       | 10 +--
 .../cfg/domainbinding/IdentityBinder.java          |  6 +-
 .../cfg/domainbinding/NamespaceNameExtractor.java  | 11 ++--
 .../collectionType/BagCollectionType.java          |  4 +-
 .../collectionType/CollectionType.java             |  9 ++-
 .../collectionType/ListCollectionType.java         |  4 +-
 .../collectionType/MapCollectionType.java          |  4 +-
 .../collectionType/SetCollectionType.java          |  4 +-
 .../collectionType/SortedSetCollectionType.java    |  4 +-
 .../NamespaceNameExtractorSpec.groovy              | 16 -----
 14 files changed, 78 insertions(+), 82 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 87570d1701..aa2d3460ce 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
@@ -97,6 +97,8 @@ import java.util.Set;
 import java.util.Optional;
 import java.util.StringTokenizer;
 
+import jakarta.annotation.Nonnull;
+
 import static java.util.Optional.ofNullable;
 import static org.hibernate.boot.model.naming.Identifier.toIdentifier;
 
@@ -252,7 +254,7 @@ public class GrailsDomainBinder
         NAMING_STRATEGY_PROVIDER.configureNamingStrategy(datasourceName, 
strategy);
     }
 
-    private void bindMapSecondPass(ToMany property, InFlightMetadataCollector 
mappings,
+    private void bindMapSecondPass(ToMany property, @Nonnull 
InFlightMetadataCollector mappings,
                                      Map<?, ?> persistentClasses, 
org.hibernate.mapping.Map map, String sessionFactoryBeanName) {
         bindCollectionSecondPass(property, mappings, persistentClasses, map, 
sessionFactoryBeanName);
 
@@ -321,7 +323,7 @@ public class GrailsDomainBinder
      * @param list
      * @param sessionFactoryBeanName
      */
-    private void bindListSecondPass(ToMany property, InFlightMetadataCollector 
mappings,
+    private void bindListSecondPass(ToMany property, @Nonnull 
InFlightMetadataCollector mappings,
                                       Map<?, ?> persistentClasses, 
org.hibernate.mapping.List list, String sessionFactoryBeanName) {
 
         bindCollectionSecondPass(property, mappings, persistentClasses, list, 
sessionFactoryBeanName);
@@ -399,7 +401,7 @@ public class GrailsDomainBinder
         }
     }
 
-    private void bindCollectionSecondPass(ToMany property, 
InFlightMetadataCollector mappings,
+    private void bindCollectionSecondPass(ToMany property, @Nonnull 
InFlightMetadataCollector mappings,
                                             Map<?, ?> persistentClasses, 
Collection collection, String sessionFactoryBeanName) {
 
         PersistentClass associatedClass = null;
@@ -694,7 +696,7 @@ public class GrailsDomainBinder
     }
 
     private void bindCollectionWithJoinTable(ToMany property,
-                                               InFlightMetadataCollector 
mappings, Collection collection, PropertyConfig config, String 
sessionFactoryBeanName) {
+                                               @Nonnull 
InFlightMetadataCollector mappings, Collection collection, PropertyConfig 
config, String sessionFactoryBeanName) {
 
 //        PhysicalNamingStrategy namingStrategy = 
getPhysicalNamingStrategy(sessionFactoryBeanName);
 
@@ -816,7 +818,7 @@ public class GrailsDomainBinder
      * @param sessionFactoryBeanName The name of the session factory
      */
     private void bindDependentKeyValue(PersistentProperty property, 
DependantValue key,
-                                         InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) {
+                                         @Nonnull InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) {
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("[GrailsDomainBinder] binding  [" + property.getName() + 
"] with dependant key");
@@ -848,7 +850,7 @@ public class GrailsDomainBinder
      * @param persistentClasses
      * @return The DependantValue (key)
      */
-    private DependantValue createPrimaryKeyValue(InFlightMetadataCollector 
mappings, PersistentProperty property,
+    private DependantValue createPrimaryKeyValue(@Nonnull 
InFlightMetadataCollector mappings, PersistentProperty property,
                                                    Collection collection, 
Map<?, ?> persistentClasses) {
         KeyValue keyValue;
         DependantValue key;
@@ -881,7 +883,7 @@ public class GrailsDomainBinder
      * @param mappings
      * @param collection
      */
-    private void 
bindUnidirectionalOneToMany(org.grails.datastore.mapping.model.types.OneToMany 
property, InFlightMetadataCollector mappings, Collection collection) {
+    private void 
bindUnidirectionalOneToMany(org.grails.datastore.mapping.model.types.OneToMany 
property, @Nonnull InFlightMetadataCollector mappings, Collection collection) {
         Value v = collection.getElement();
         v.createForeignKey();
         String entityName;
@@ -952,7 +954,7 @@ public class GrailsDomainBinder
      * @param mappings The mappings
      */
     private void bindManyToMany(Association property, ManyToOne element,
-                                  InFlightMetadataCollector mappings, String 
sessionFactoryBeanName) {
+                                  @Nonnull InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) {
         new ManyToOneBinder(namingStrategy).bindManyToOne(property, element, 
EMPTY_PATH);
         element.setReferencedEntityName(property.getOwner().getName());
     }
@@ -979,7 +981,7 @@ public class GrailsDomainBinder
      * @param path
      */
     public void bindCollection(ToMany property, Collection collection,
-                               PersistentClass owner, 
InFlightMetadataCollector mappings, String path, String sessionFactoryBeanName) 
{
+                               PersistentClass owner, @Nonnull 
InFlightMetadataCollector mappings, String path, String sessionFactoryBeanName) 
{
 
         // set role
         String propertyName = getNameForPropertyAndPath(property, path);
@@ -1052,7 +1054,7 @@ public class GrailsDomainBinder
         return property.getName();
     }
 
-    private void bindCollectionTable(ToMany property, 
InFlightMetadataCollector mappings,
+    private void bindCollectionTable(ToMany property, @Nonnull 
InFlightMetadataCollector mappings,
                                        Collection collection, Table 
ownerTable, String sessionFactoryBeanName) {
 
         String owningTableSchema = ownerTable.getSchema();
@@ -1091,7 +1093,7 @@ public class GrailsDomainBinder
      * @param sessionFactoryBeanName  the session factory bean name
      * @throws MappingException Thrown if the domain class uses inheritance 
which is not supported
      */
-    public void bindClass(PersistentEntity entity, InFlightMetadataCollector 
mappings, String sessionFactoryBeanName)
+    public void bindClass(@Nonnull PersistentEntity entity, @Nonnull 
InFlightMetadataCollector mappings, String sessionFactoryBeanName)
             throws MappingException {
         //if (domainClass.getClazz().getSuperclass() == Object.class) {
         if (entity.isRoot()) {
@@ -1110,7 +1112,7 @@ public class GrailsDomainBinder
      * @param mappings    The Hibernate Mappings object
      * @param sessionFactoryBeanName  the session factory bean name
      */
-    protected void bindRoot(GrailsHibernatePersistentEntity entity, 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
+    protected void bindRoot(@Nonnull GrailsHibernatePersistentEntity 
entity,@Nonnull InFlightMetadataCollector mappings, String 
sessionFactoryBeanName) {
         if (mappings.getEntityBinding(entity.getName()) != null) {
             LOG.info("[GrailsDomainBinder] Class [" + entity.getName() + "] is 
already mapped, skipping.. ");
             return;
@@ -1127,10 +1129,7 @@ public class GrailsDomainBinder
             root.setPolymorphic(false);
         } else {
             root.setPolymorphic(true);
-            Mapping m = null;
-            if (entity != null) {
-                m = entity.getMappedForm();
-            }
+            Mapping m = entity.getMappedForm();
             final Mapping finalMapping = m;
             boolean tablePerSubclass = !m.getTablePerHierarchy();
             if (!tablePerSubclass) {
@@ -1164,8 +1163,8 @@ public class GrailsDomainBinder
      * @param sessionFactoryBeanName the session factory bean name
      */
     private void addMultiTenantFilterIfNecessary(
-            GrailsHibernatePersistentEntity entity, PersistentClass 
persistentClass,
-            InFlightMetadataCollector mappings, String sessionFactoryBeanName) 
{
+            @Nonnull GrailsHibernatePersistentEntity entity, PersistentClass 
persistentClass,
+            @Nonnull InFlightMetadataCollector mappings, String 
sessionFactoryBeanName) {
 
         if (entity.isMultiTenant()) {
             TenantId tenantId = entity.getTenantId();
@@ -1206,9 +1205,9 @@ public class GrailsDomainBinder
      * @param sessionFactoryBeanName the session factory bean name
      * @param mappingCacheHolder
      */
-    private void bindSubClass(GrailsHibernatePersistentEntity sub,
+    private void bindSubClass(@Nonnull GrailsHibernatePersistentEntity sub,
                               PersistentClass parent,
-                              InFlightMetadataCollector mappings,
+                              @Nonnull InFlightMetadataCollector mappings,
                               String sessionFactoryBeanName
                             , Mapping m, MappingCacheHolder 
mappingCacheHolder) {
         mappingCacheHolder.cacheMapping(sub);
@@ -1379,7 +1378,7 @@ public class GrailsDomainBinder
      * @param subClass The Hibernate SubClass instance
      * @param mappings The mappings instance
      */
-    private void bindSubClass(GrailsHibernatePersistentEntity sub, Subclass 
subClass, InFlightMetadataCollector mappings,
+    private void bindSubClass(@Nonnull GrailsHibernatePersistentEntity sub, 
Subclass subClass, @Nonnull InFlightMetadataCollector mappings,
                                 String sessionFactoryBeanName) {
         classBinding.bindClass(sub, subClass, mappings);
 
@@ -1451,14 +1450,11 @@ public class GrailsDomainBinder
     /*
      * Binds a persistent classes to the table representation and binds the 
class properties
      */
-    private void 
bindRootPersistentClassCommonValues(GrailsHibernatePersistentEntity domainClass,
-                                                       RootClass root, 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
+    private void bindRootPersistentClassCommonValues(@Nonnull 
GrailsHibernatePersistentEntity domainClass,
+                                                       RootClass root, 
@Nonnull InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
 
         // get the schema and catalog names from the configuration
-        Mapping gormMapping = null;
-        if (domainClass != null) {
-            gormMapping = domainClass.getMappedForm();
-        }
+        Mapping gormMapping = domainClass.getMappedForm();
 
         configureDerivedProperties(domainClass, gormMapping);
         CacheConfig cc = gormMapping.getCache();
@@ -1506,9 +1502,9 @@ public class GrailsDomainBinder
 
 
     public void bindIdentity(
-            GrailsHibernatePersistentEntity domainClass,
+            @Nonnull GrailsHibernatePersistentEntity domainClass,
             RootClass root,
-            InFlightMetadataCollector mappings,
+            @Nonnull InFlightMetadataCollector mappings,
             Mapping gormMapping,
             String sessionFactoryBeanName) {
 
@@ -1526,14 +1522,10 @@ public class GrailsDomainBinder
      * @param mappings        The Hibernate Mappings instance
      * @param sessionFactoryBeanName  the session factory bean name
      */
-    private void createClassProperties(GrailsHibernatePersistentEntity 
domainClass, PersistentClass persistentClass,
-                                         InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) {
+    private void createClassProperties(@Nonnull 
GrailsHibernatePersistentEntity domainClass, PersistentClass persistentClass,
+                                         @Nonnull InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) {
 
-        Mapping result = null;
-        if (domainClass != null) {
-            result = domainClass.getMappedForm();
-        }
-        Mapping gormMapping = result;
+        Mapping gormMapping = domainClass.getMappedForm();
         Table table = persistentClass.getTable();
         table.setComment(gormMapping.getComment());
         final List<PersistentProperty> persistentProperties = 
domainClass.getPersistentProperties()
@@ -1656,7 +1648,7 @@ public class GrailsDomainBinder
 
 
 
-    private void 
bindOneToMany(org.grails.datastore.mapping.model.types.OneToMany 
currentGrailsProp, OneToMany one, InFlightMetadataCollector mappings) {
+    private void 
bindOneToMany(org.grails.datastore.mapping.model.types.OneToMany 
currentGrailsProp, OneToMany one, @Nonnull InFlightMetadataCollector mappings) {
         
one.setReferencedEntityName(currentGrailsProp.getAssociatedEntity().getName());
         one.setIgnoreNotFound(true);
     }
@@ -1769,11 +1761,11 @@ public class GrailsDomainBinder
         private static final long serialVersionUID = -5540526942092611348L;
 
         ToMany property;
-        InFlightMetadataCollector mappings;
+        @Nonnull InFlightMetadataCollector mappings;
         Collection collection;
         String sessionFactoryBeanName;
 
-        public GrailsCollectionSecondPass(ToMany property, 
InFlightMetadataCollector mappings,
+        public GrailsCollectionSecondPass(ToMany property, @Nonnull 
InFlightMetadataCollector mappings,
                                           Collection coll,  String 
sessionFactoryBeanName) {
             this.property = property;
             this.mappings = mappings;
@@ -1824,7 +1816,7 @@ public class GrailsDomainBinder
     class ListSecondPass extends GrailsCollectionSecondPass {
         private static final long serialVersionUID = -3024674993774205193L;
 
-        public ListSecondPass(ToMany property, InFlightMetadataCollector 
mappings,
+        public ListSecondPass(ToMany property, @Nonnull 
InFlightMetadataCollector mappings,
                               Collection coll, String sessionFactoryBeanName) {
             super(property, mappings, coll, sessionFactoryBeanName);
         }
@@ -1846,7 +1838,7 @@ public class GrailsDomainBinder
     class MapSecondPass extends GrailsCollectionSecondPass {
         private static final long serialVersionUID = -3244991685626409031L;
 
-        public MapSecondPass(ToMany property, InFlightMetadataCollector 
mappings,
+        public MapSecondPass(ToMany property, @Nonnull 
InFlightMetadataCollector mappings,
                              Collection coll, String sessionFactoryBeanName) {
             super(property, mappings, coll, sessionFactoryBeanName);
         }
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ClassBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ClassBinder.java
index 3629b1d20e..4832b45ac7 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ClassBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ClassBinder.java
@@ -5,6 +5,8 @@ import org.grails.orm.hibernate.cfg.Mapping;
 import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.PersistentClass;
 
+import jakarta.annotation.Nonnull;
+
 import static org.grails.orm.hibernate.cfg.GrailsHibernateUtil.unqualify;
 
 public class ClassBinder {
@@ -17,7 +19,7 @@ public class ClassBinder {
      * @param persistentClass The persistant class
      * @param collector        Existing collector
      */
-    public void bindClass(PersistentEntity persistentEntity, PersistentClass 
persistentClass, InFlightMetadataCollector collector) {
+    public void bindClass(@Nonnull PersistentEntity persistentEntity, 
PersistentClass persistentClass, @Nonnull InFlightMetadataCollector collector) {
         persistentClass.setLazy(true);
         var entityName = persistentEntity.getName();
         persistentClass.setEntityName(entityName);
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinder.java
index 2ec1425445..7bcc7196b9 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentBinder.java
@@ -14,6 +14,8 @@ import 
org.grails.orm.hibernate.cfg.GrailsHibernatePersistentEntity;
 import org.grails.orm.hibernate.cfg.GrailsHibernateUtil;
 import org.grails.orm.hibernate.cfg.MappingCacheHolder;
 
+import jakarta.annotation.Nonnull;
+
 public class ComponentBinder {
 
     private final MappingCacheHolder mappingCacheHolder;
@@ -30,7 +32,7 @@ public class ComponentBinder {
     }
 
     public void bindComponent(Component component, Embedded property,
-                               boolean isNullable, InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) {
+                               boolean isNullable, @Nonnull 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
         Class<?> type = property.getType();
         String role = GrailsHibernateUtil.qualify(type.getName(), 
property.getName());
         component.setRoleName(role);
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentPropertyBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentPropertyBinder.java
index 6fb1bbf121..c7c752c3d5 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentPropertyBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/ComponentPropertyBinder.java
@@ -36,6 +36,8 @@ import org.grails.orm.hibernate.cfg.PropertyConfig;
 import 
org.grails.orm.hibernate.cfg.domainbinding.collectionType.CollectionHolder;
 import 
org.grails.orm.hibernate.cfg.domainbinding.collectionType.CollectionType;
 
+import jakarta.annotation.Nonnull;
+
 import static org.grails.orm.hibernate.cfg.GrailsDomainBinder.EMPTY_PATH;
 
 public class ComponentPropertyBinder {
@@ -92,7 +94,7 @@ public class ComponentPropertyBinder {
 
     public void bindComponentProperty(Component component, PersistentProperty 
componentProperty,
                                        PersistentProperty currentGrailsProp, 
PersistentClass persistentClass,
-                                       String path, Table table, 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
+                                       String path, Table table, @Nonnull 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
         Value value;
         // see if it's a collection type
         CollectionType collectionType = 
collectionHolder.get(currentGrailsProp.getType());
@@ -157,7 +159,7 @@ public class ComponentPropertyBinder {
     }
 
     public void bindComponent(Component component, Embedded property,
-                               boolean isNullable, InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) {
+                               boolean isNullable, @Nonnull 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
         componentBinder.bindComponent(component, property, isNullable, 
mappings, sessionFactoryBeanName);
     }
 }
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/CompositeIdBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/CompositeIdBinder.java
index d6ca8d9bee..7fbbf0fdae 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/CompositeIdBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/CompositeIdBinder.java
@@ -12,6 +12,8 @@ import org.grails.orm.hibernate.cfg.CompositeIdentity;
 import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentEntity;
 import org.grails.orm.hibernate.cfg.GrailsHibernateUtil;
 
+import jakarta.annotation.Nonnull;
+
 public class CompositeIdBinder {
 
     private final MetadataBuildingContext metadataBuildingContext;
@@ -27,13 +29,13 @@ public class CompositeIdBinder {
         this.componentPropertyBinder = null;
     }
 
-    public void bindCompositeId(PersistentEntity domainClass, RootClass root,
-                                 CompositeIdentity compositeIdentity, 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
+    public void bindCompositeId(@Nonnull PersistentEntity domainClass, 
RootClass root,
+                                 CompositeIdentity compositeIdentity, @Nonnull 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
         bindCompositeId(domainClass, (GrailsHibernatePersistentEntity) 
domainClass, root, compositeIdentity, mappings, sessionFactoryBeanName);
     }
 
-    public void bindCompositeId(PersistentEntity domainClass, 
GrailsHibernatePersistentEntity hibernatePersistentEntity, RootClass root,
-                                 CompositeIdentity compositeIdentity, 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
+    public void bindCompositeId(@Nonnull PersistentEntity domainClass, 
@Nonnull GrailsHibernatePersistentEntity hibernatePersistentEntity, RootClass 
root,
+                                 CompositeIdentity compositeIdentity, @Nonnull 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
         Component id = new Component(metadataBuildingContext, root);
         id.setNullValue("undefined");
         root.setIdentifier(id);
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinder.java
index 8afcb74cf3..5c6e7dfb89 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/IdentityBinder.java
@@ -14,6 +14,8 @@ import org.grails.orm.hibernate.cfg.Identity;
 import org.grails.orm.hibernate.cfg.Mapping;
 import org.grails.orm.hibernate.cfg.PersistentEntityNamingStrategy;
 
+import jakarta.annotation.Nonnull;
+
 public class IdentityBinder {
 
     private final SimpleIdBinder simpleIdBinder;
@@ -37,9 +39,9 @@ public class IdentityBinder {
     }
 
     public void bindIdentity(
-            GrailsHibernatePersistentEntity domainClass,
+            @Nonnull GrailsHibernatePersistentEntity domainClass,
             RootClass root,
-            InFlightMetadataCollector mappings,
+            @Nonnull InFlightMetadataCollector mappings,
             Mapping gormMapping,
             String sessionFactoryBeanName) {
 
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractor.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractor.java
index cfa86d2487..68137f5a25 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractor.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractor.java
@@ -5,17 +5,19 @@ import org.hibernate.boot.model.relational.Database;
 import org.hibernate.boot.model.relational.Namespace;
 import org.hibernate.boot.spi.InFlightMetadataCollector;
 
+import jakarta.annotation.Nonnull;
+
 import java.util.Optional;
 import java.util.function.Function;
 
 public class NamespaceNameExtractor {
 
 
-    public String getCatalogName(InFlightMetadataCollector mappings) {
+    public String getCatalogName(@Nonnull InFlightMetadataCollector mappings) {
         return getNamespaceName(mappings, Namespace.Name::getCatalog);
     }
 
-    public String getSchemaName(InFlightMetadataCollector mappings) {
+    public String getSchemaName(@Nonnull InFlightMetadataCollector mappings) {
         return getNamespaceName(mappings, Namespace.Name::getSchema);
     }
 
@@ -23,10 +25,9 @@ public class NamespaceNameExtractor {
 
 
     public String  getNamespaceName(
-            InFlightMetadataCollector mappings, Function<Namespace.Name, 
Identifier> function
+            @Nonnull InFlightMetadataCollector mappings, 
Function<Namespace.Name, Identifier> function
     ) {
-        return Optional.ofNullable(mappings)
-                .map(InFlightMetadataCollector::getDatabase)
+        return Optional.ofNullable(mappings.getDatabase())
                 .map(Database::getDefaultNamespace)
                 .map(Namespace::getName)
                 .map(function)
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java
index c21807a38b..b72d23fcbb 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java
@@ -6,6 +6,8 @@ import org.hibernate.mapping.Bag;
 import org.hibernate.mapping.Collection;
 import org.hibernate.mapping.PersistentClass;
 
+import jakarta.annotation.Nonnull;
+
 import org.grails.datastore.mapping.model.types.ToMany;
 import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 
@@ -17,7 +19,7 @@ public class BagCollectionType extends CollectionType {
 
     @Override
     public Collection create(ToMany property, PersistentClass owner,
-                             String path, InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) throws MappingException {
+                             String path, @Nonnull InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) throws MappingException {
         Bag coll = new Bag(buildingContext, owner);
         coll.setCollectionTable(owner.getTable());
         coll.setTypeName(getTypeName(property));
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java
index af3b360d6f..cf85d45193 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java
@@ -13,6 +13,8 @@ import org.hibernate.mapping.Bag;
 import org.hibernate.mapping.Collection;
 import org.hibernate.mapping.PersistentClass;
 
+import jakarta.annotation.Nonnull;
+
 import org.grails.datastore.mapping.model.types.ToMany;
 import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentEntity;
@@ -35,7 +37,7 @@ public abstract class CollectionType {
     private final Map<Class<?>, CollectionType> INSTANCES = new HashMap<>();
 
     public abstract Collection create(ToMany property, PersistentClass owner,
-                                      String path, InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) throws MappingException;
+                                      String path, @Nonnull 
InFlightMetadataCollector mappings, String sessionFactoryBeanName) throws 
MappingException;
 
     protected CollectionType(Class<?> clazz, GrailsDomainBinder binder) {
         this.clazz = clazz;
@@ -71,11 +73,8 @@ public abstract class CollectionType {
     }
 
     public String getTypeName(ToMany property) {
-        Mapping mapping = null;
         GrailsHibernatePersistentEntity domainClass = 
(GrailsHibernatePersistentEntity) property.getOwner();
-        if (domainClass != null) {
-            mapping = domainClass.getMappedForm();
-        }
+        Mapping mapping = domainClass.getMappedForm();
         return new TypeNameProvider().getTypeName(property, mapping);
     }
 
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/ListCollectionType.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/ListCollectionType.java
index 68fd9e0baf..264765a48a 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/ListCollectionType.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/ListCollectionType.java
@@ -7,6 +7,8 @@ import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.Collection;
 import org.hibernate.mapping.PersistentClass;
 
+import jakarta.annotation.Nonnull;
+
 import org.grails.datastore.mapping.model.types.ToMany;
 import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 
@@ -18,7 +20,7 @@ public class ListCollectionType extends CollectionType {
 
     @Override
     public Collection create(ToMany property, PersistentClass owner,
-                             String path, InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) throws MappingException {
+                             String path, @Nonnull InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) throws MappingException {
         org.hibernate.mapping.List coll = new 
org.hibernate.mapping.List(buildingContext, owner);
         coll.setCollectionTable(owner.getTable());
         coll.setTypeName(getTypeName(property));
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/MapCollectionType.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/MapCollectionType.java
index 22de22b5c9..cf98800c3b 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/MapCollectionType.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/MapCollectionType.java
@@ -7,6 +7,8 @@ import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.Collection;
 import org.hibernate.mapping.PersistentClass;
 
+import jakarta.annotation.Nonnull;
+
 import org.grails.datastore.mapping.model.types.ToMany;
 import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 
@@ -18,7 +20,7 @@ public class MapCollectionType extends CollectionType {
 
     @Override
     public Collection create(ToMany property, PersistentClass owner,
-                             String path, InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) throws MappingException {
+                             String path, @Nonnull InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) throws MappingException {
         org.hibernate.mapping.Map map = new 
org.hibernate.mapping.Map(buildingContext, owner);
         map.setTypeName(getTypeName(property));
         binder.bindCollection(property, map, owner, mappings, path, 
sessionFactoryBeanName);
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SetCollectionType.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SetCollectionType.java
index 956521a785..d85475af30 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SetCollectionType.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SetCollectionType.java
@@ -7,6 +7,8 @@ import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.Collection;
 import org.hibernate.mapping.PersistentClass;
 
+import jakarta.annotation.Nonnull;
+
 import org.grails.datastore.mapping.model.types.ToMany;
 import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 
@@ -18,7 +20,7 @@ public class SetCollectionType extends CollectionType {
 
     @Override
     public Collection create(ToMany property, PersistentClass owner,
-                             String path, InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) throws MappingException {
+                             String path, @Nonnull InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) throws MappingException {
         org.hibernate.mapping.Set coll = new 
org.hibernate.mapping.Set(buildingContext, owner);
         coll.setCollectionTable(owner.getTable());
         coll.setTypeName(getTypeName(property));
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SortedSetCollectionType.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SortedSetCollectionType.java
index b92252f849..5098dd3ade 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SortedSetCollectionType.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/SortedSetCollectionType.java
@@ -8,6 +8,8 @@ import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.Collection;
 import org.hibernate.mapping.PersistentClass;
 
+import jakarta.annotation.Nonnull;
+
 import org.grails.datastore.mapping.model.types.ToMany;
 import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 
@@ -19,7 +21,7 @@ public class SortedSetCollectionType extends CollectionType {
 
     @Override
     public Collection create(ToMany property, PersistentClass owner,
-                             String path, InFlightMetadataCollector mappings, 
String sessionFactoryBeanName) throws MappingException {
+                             String path, @Nonnull InFlightMetadataCollector 
mappings, String sessionFactoryBeanName) throws MappingException {
         org.hibernate.mapping.Set coll = new 
org.hibernate.mapping.Set(buildingContext, owner);
         coll.setCollectionTable(owner.getTable());
         coll.setTypeName(getTypeName(property));
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractorSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractorSpec.groovy
index f1e89a4758..69e006f6f3 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractorSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamespaceNameExtractorSpec.groovy
@@ -87,14 +87,6 @@ class NamespaceNameExtractorSpec extends Specification {
         "the schema identifier" | 'schema'
     }
 
-    def "getSchemaName should return null when the input mappings object is 
null"() {
-        when: "the extractor is called with a null input"
-        def result = extractor.getSchemaName(null)
-
-        then: "the result is null"
-        result == null
-    }
-
     // --- Tests for getCatalogName ---
 
     def "should return the catalog name when the full object graph exists"() {
@@ -161,12 +153,4 @@ class NamespaceNameExtractorSpec extends Specification {
         "the catalog identifier" | 'catalog'
     }
 
-    def "getCatalogName should return null when the input mappings object is 
null"() {
-        when: "the extractor is called with a null input"
-        def result = extractor.getCatalogName(null)
-
-        then: "the result is null"
-        result == null
-    }
-
 }
\ No newline at end of file


Reply via email to