File tree 1 file changed +11
-6
lines changed
src/main/java/org/springframework/data/neo4j/core
1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -726,14 +726,19 @@ public <T> Mono<ExecutableQuery<T>> toExecutableQuery(PreparedQuery<T> preparedQ
726
726
Map <String , Object > parameters = queryFragmentsAndParameters .getParameters ();
727
727
728
728
if (containsPossibleCircles && !queryFragments .isScalarValueReturn ()) {
729
- GenericQueryAndParameters genericQueryAndParameters =
730
- createQueryAndParameters (entityMetaData , queryFragments , parameters ).block ();
729
+ return createQueryAndParameters (entityMetaData , queryFragments , parameters )
730
+ .map (genericQueryAndParameters -> {
731
+ ReactiveNeo4jClient .MappingSpec <T > mappingSpec = this .neo4jClient .query (renderer .render (GenericQueryAndParameters .STATEMENT ))
732
+ .bindAll (genericQueryAndParameters .getParameters ()).fetchAs (resultType );
731
733
732
- cypherQuery = renderer .render (GenericQueryAndParameters .STATEMENT );
733
- finalParameters = genericQueryAndParameters .getParameters ();
734
- } else {
735
- cypherQuery = renderer .render (queryFragments .toStatement ());
734
+ ReactiveNeo4jClient .RecordFetchSpec <T > fetchSpec = preparedQuery .getOptionalMappingFunction ()
735
+ .map (mappingFunction -> mappingSpec .mappedBy (mappingFunction )).orElse (mappingSpec );
736
+
737
+ return new DefaultReactiveExecutableQuery <>(preparedQuery , fetchSpec );
738
+ });
736
739
}
740
+
741
+ cypherQuery = renderer .render (queryFragments .toStatement ());
737
742
}
738
743
739
744
ReactiveNeo4jClient .MappingSpec <T > mappingSpec = this .neo4jClient .query (cypherQuery )
You can’t perform that action at this time.
0 commit comments