Fix R2dbcEntityTemplate.getRowsFetchSpec(…) to use the correct Converter for result type conversion.

Closes #1723
This commit is contained in:
Sebastian Wieland
2024-01-23 09:44:40 +01:00
committed by Mark Paluch
parent e5fdcf2909
commit 8e7a1e1e1c
2 changed files with 24 additions and 3 deletions

View File

@@ -93,6 +93,7 @@ import org.springframework.util.Assert;
* @author Jens Schauder
* @author Jose Luis Leon
* @author Robert Heim
* @author Sebastian Wieland
* @since 1.1
*/
public class R2dbcEntityTemplate implements R2dbcEntityOperations, BeanFactoryAware, ApplicationContextAware {
@@ -821,10 +822,10 @@ public class R2dbcEntityTemplate implements R2dbcEntityOperations, BeanFactoryAw
// Bridge-code: Consider Converter<Row, T> until we have fully migrated to RowDocument
if (converter instanceof AbstractRelationalConverter relationalConverter
&& relationalConverter.getConversions().hasCustomReadTarget(Row.class, entityType)) {
&& relationalConverter.getConversions().hasCustomReadTarget(Row.class, resultType)) {
ConversionService conversionService = relationalConverter.getConversionService();
rowMapper = (row, rowMetadata) -> (T) conversionService.convert(row, entityType);
rowMapper = (row, rowMetadata) -> (T) conversionService.convert(row, resultType);
} else if (simpleType) {
rowMapper = dataAccessStrategy.getRowMapper(resultType);
} else {