File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed
src/main/java/org/springframework/data/neo4j/core Expand file tree Collapse file tree 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
726726 Map <String , Object > parameters = queryFragmentsAndParameters .getParameters ();
727727
728728 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 );
731733
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+ });
736739 }
740+
741+ cypherQuery = renderer .render (queryFragments .toStatement ());
737742 }
738743
739744 ReactiveNeo4jClient .MappingSpec <T > mappingSpec = this .neo4jClient .query (cypherQuery )
You can’t perform that action at this time.
0 commit comments