diff --git a/src/main/java/org/springframework/data/jpa/repository/support/JpaMetamodelEntityInformation.java b/src/main/java/org/springframework/data/jpa/repository/support/JpaMetamodelEntityInformation.java index 7c80c211a..8a6e3911d 100644 --- a/src/main/java/org/springframework/data/jpa/repository/support/JpaMetamodelEntityInformation.java +++ b/src/main/java/org/springframework/data/jpa/repository/support/JpaMetamodelEntityInformation.java @@ -412,13 +412,17 @@ public class JpaMetamodelEntityInformation extends JpaEntityInformationSu return false; } - try { - ManagedType managedType = this.metamodel.managedType(ProxyUtils.getUserClass(value)); - return managedType != null && managedType.getPersistenceType() == PersistenceType.ENTITY; - } catch (IllegalArgumentException iae) { - // no mapped type + Class userClass = ProxyUtils.getUserClass(value); + + if (!this.jpaMetamodel.isJpaManaged(userClass)) { return false; } + + ManagedType managedType = this.metamodel.managedType(userClass); + + Assert.state(managedType != null, "ManagedType must not be null. We checked that it exists before."); + + return managedType.getPersistenceType() == PersistenceType.ENTITY; } } }