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; }
