Introduce MappingRelationalConverter.

Add sophisticated converter to read aggregates from a RowDocument including support for maps, collections, subdocuments, and embeddables considering registered converters.
Use ResultSetRowDocumentExtractor to extract result multi-sets into RowDocument and then later apply object mapping.

Original pull request #1604
Closes #1586
This commit is contained in:
Mark Paluch
2023-09-04 16:08:38 +02:00
committed by Jens Schauder
parent 48b037fb9b
commit d6d99571b1
23 changed files with 2490 additions and 1434 deletions

View File

@@ -47,7 +47,7 @@ import org.springframework.data.mapping.model.SpELExpressionEvaluator;
import org.springframework.data.mapping.model.SpELExpressionParameterValueProvider;
import org.springframework.data.r2dbc.mapping.OutboundRow;
import org.springframework.data.r2dbc.support.ArrayUtils;
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
import org.springframework.data.relational.core.conversion.MappingRelationalConverter;
import org.springframework.data.relational.core.conversion.RelationalConverter;
import org.springframework.data.relational.core.dialect.ArrayColumns;
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
@@ -66,7 +66,7 @@ import org.springframework.util.CollectionUtils;
* @author Mark Paluch
* @author Oliver Drotbohm
*/
public class MappingR2dbcConverter extends BasicRelationalConverter implements R2dbcConverter {
public class MappingR2dbcConverter extends MappingRelationalConverter implements R2dbcConverter {
/**
* Creates a new {@link MappingR2dbcConverter} given {@link MappingContext}.

View File

@@ -51,6 +51,7 @@ public interface R2dbcConverter
*
* @return never {@literal null}.
*/
@Override
ConversionService getConversionService();
/**