From b027f15a4c55bbf18fc666788605de9f25840bef Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Wed, 19 Oct 2022 16:25:35 +0200 Subject: [PATCH] Add missing runtime hint for QuerydslMongoPredicateExecutor. Closes: #4211 Original pull request: #4212 --- .../data/mongodb/aot/MongoRuntimeHints.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/aot/MongoRuntimeHints.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/aot/MongoRuntimeHints.java index fb829d5ba2..74e7b3b9e0 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/aot/MongoRuntimeHints.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/aot/MongoRuntimeHints.java @@ -29,6 +29,8 @@ import org.springframework.data.mongodb.core.mapping.event.ReactiveAfterSaveCallback; import org.springframework.data.mongodb.core.mapping.event.ReactiveBeforeConvertCallback; import org.springframework.data.mongodb.core.mapping.event.ReactiveBeforeSaveCallback; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; +import org.springframework.data.querydsl.QuerydslUtils; import org.springframework.data.repository.util.ReactiveWrappers; import org.springframework.lang.Nullable; @@ -63,6 +65,13 @@ public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) TypeReference.of(ReactiveAfterConvertCallback.class), TypeReference.of(ReactiveAfterSaveCallback.class)), builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_PUBLIC_METHODS)); + + if(QuerydslUtils.QUERY_DSL_PRESENT) { + + hints.reflection().registerType(TypeReference.of("org.springframework.data.mongodb.repository.support.QuerydslMongoPredicateExecutor"), + hint -> hint.withMembers(MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS, MemberCategory.INVOKE_PUBLIC_METHODS) + .onReachableType(QuerydslPredicateExecutor.class)); + } } } }