From 13ae7e586a801040e33a573b2d70fd4ac348f6d5 Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Tue, 17 May 2022 17:42:01 +0200 Subject: [PATCH] Fix potential NullPointerException in ParameterMetadataProvider. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We now guard against null values returned from ParameterExpression.getJavaType() before inspecting the value further as it turns out that Class.isAssignableFrom(…) chokes on null values being passed. Looks like Hibernate six returns null in scenarios it previously didn't. --- .../data/jpa/repository/query/ParameterMetadataProvider.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/ParameterMetadataProvider.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/ParameterMetadataProvider.java index 9eeb694a6..e214ffe4c 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/ParameterMetadataProvider.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/ParameterMetadataProvider.java @@ -237,6 +237,10 @@ class ParameterMetadataProvider { Class expressionType = expression.getJavaType(); + if (expressionType == null) { + return value; + } + if (String.class.equals(expressionType)) { switch (type) {