This is an automated email from the ASF dual-hosted git repository.

borinquenkid pushed a commit to branch 8.0.x-hibernate7-dev
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 11bdca20acb33725b46ede7e27a9a88d33120170
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Wed Mar 4 13:08:55 2026 -0600

    fix: tighten PersistentEntity.getJavaClass() return type to Class<?>
---
 .../main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java   | 4 ++--
 .../main/groovy/org/grails/orm/hibernate/query/JpaFromProvider.java  | 5 ++---
 .../org/grails/datastore/gorm/finders/DynamicFinderInvocation.java   | 2 +-
 .../org/grails/datastore/mapping/model/AbstractPersistentEntity.java | 2 +-
 .../groovy/org/grails/datastore/mapping/model/PersistentEntity.java  | 2 +-
 .../org/grails/datastore/mapping/reflect/ClassPropertyFetcher.java   | 2 +-
 6 files changed, 8 insertions(+), 9 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
index b8dd55d7bc..111390a1d8 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
@@ -62,7 +62,7 @@ public class HibernateQuery extends Query {
     return detachedCriteria;
   }
 
-  protected Map<String, CriteriaAndAlias> createdAssociationPaths = new 
HashMap<>();
+  private Map<String, CriteriaAndAlias> createdAssociationPaths = new 
HashMap<>();
   protected LinkedList<PersistentEntity> entityStack = new LinkedList<>();
   protected LinkedList<Association> associationStack = new LinkedList<>();
   protected DetachedCriteria<?> detachedCriteria;
@@ -75,7 +75,7 @@ public class HibernateQuery extends Query {
 
   public HibernateQuery(HibernateSession session, PersistentEntity entity) {
     super(session, entity);
-    this.detachedCriteria = new DetachedCriteria(entity.getJavaClass());
+    this.detachedCriteria = new DetachedCriteria<>(entity.getJavaClass());
   }
 
   public void setDetachedCriteria(DetachedCriteria<?> detachedCriteria) {
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/JpaFromProvider.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/JpaFromProvider.java
index 9602ec8bf1..fd482e4d22 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/JpaFromProvider.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/JpaFromProvider.java
@@ -79,10 +79,9 @@ public class JpaFromProvider implements Cloneable {
             .map(
                 joinColumn -> {
                   // Determine owner class for this join path from detached 
criteria
+                  var dac = aliasMap.get(joinColumn);
                   Class<?> ownerClass =
-                      Optional.ofNullable(aliasMap.get(joinColumn))
-                          .map(dac -> 
dac.getAssociation().getOwner().getJavaClass())
-                          .orElse(root.getJavaType());
+                      dac != null ? 
dac.getAssociation().getOwner().getJavaClass() : root.getJavaType();
                   // Choose base From: use outer root only if join belongs to 
the outer root type;
                   // otherwise create a detached root for the owner
                   From<?, ?> base =
diff --git 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/DynamicFinderInvocation.java
 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/DynamicFinderInvocation.java
index c8b8a68dc0..f086faf718 100644
--- 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/DynamicFinderInvocation.java
+++ 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/DynamicFinderInvocation.java
@@ -51,7 +51,7 @@ public class DynamicFinderInvocation {
         this.operator = operator;
     }
 
-    public Class getJavaClass() {
+    public Class<?> getJavaClass() {
         return javaClass;
     }
 
diff --git 
a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/AbstractPersistentEntity.java
 
b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/AbstractPersistentEntity.java
index 588a856aa1..64daf80c40 100644
--- 
a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/AbstractPersistentEntity.java
+++ 
b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/AbstractPersistentEntity.java
@@ -381,7 +381,7 @@ public abstract class AbstractPersistentEntity<T extends 
Entity> implements Pers
         return (this.versionCompatibleType || !propertiesInitialized) && 
versioned;
     }
 
-    public Class getJavaClass() {
+    public Class<?> getJavaClass() {
         return javaClass;
     }
 
diff --git 
a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/PersistentEntity.java
 
b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/PersistentEntity.java
index 10012c5cc7..6b7acbbcbb 100644
--- 
a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/PersistentEntity.java
+++ 
b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/model/PersistentEntity.java
@@ -126,7 +126,7 @@ public interface PersistentEntity extends Initializable {
     /**
      * @return The underlying Java class for this entity
      */
-    Class getJavaClass();
+    Class<?> getJavaClass();
 
     /**
      * Tests whether the given instance is an instance of this persistent 
entity
diff --git 
a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/ClassPropertyFetcher.java
 
b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/ClassPropertyFetcher.java
index f56f9c6019..a429285376 100644
--- 
a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/ClassPropertyFetcher.java
+++ 
b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/ClassPropertyFetcher.java
@@ -120,7 +120,7 @@ public class ClassPropertyFetcher {
     /**
      * @return The Java that this ClassPropertyFetcher was constructor for
      */
-    public Class getJavaClass() {
+    public Class<?> getJavaClass() {
         return clazz;
     }
 

Reply via email to