|
44 | 44 | import org.springframework.data.mapping.PersistentPropertyAccessor;
|
45 | 45 | import org.springframework.data.mapping.PersistentPropertyPathAccessor;
|
46 | 46 | import org.springframework.data.mapping.context.MappingContext;
|
47 |
| -import org.springframework.data.mapping.model.*; |
| 47 | +import org.springframework.data.mapping.model.CachingValueExpressionEvaluatorFactory; |
| 48 | +import org.springframework.data.mapping.model.ConvertingPropertyAccessor; |
| 49 | +import org.springframework.data.mapping.model.EntityInstantiator; |
| 50 | +import org.springframework.data.mapping.model.ParameterValueProvider; |
| 51 | +import org.springframework.data.mapping.model.PersistentEntityParameterValueProvider; |
| 52 | +import org.springframework.data.mapping.model.PropertyValueProvider; |
| 53 | +import org.springframework.data.mapping.model.SimpleTypeHolder; |
| 54 | +import org.springframework.data.mapping.model.SpELContext; |
| 55 | +import org.springframework.data.mapping.model.ValueExpressionEvaluator; |
| 56 | +import org.springframework.data.mapping.model.ValueExpressionParameterValueProvider; |
48 | 57 | import org.springframework.data.projection.EntityProjection;
|
49 | 58 | import org.springframework.data.projection.EntityProjectionIntrospector;
|
50 | 59 | import org.springframework.data.projection.EntityProjectionIntrospector.ProjectionPredicate;
|
@@ -784,16 +793,18 @@ private Object writeCollection(Iterable<?> value, TypeInformation<?> type) {
|
784 | 793 | Class<?> targetComponentType = mapped.get(0).getClass();
|
785 | 794 | targetType = Array.newInstance(targetComponentType, 0).getClass();
|
786 | 795 | }
|
| 796 | + |
787 | 797 | return getConversionService().convert(mapped, targetType);
|
788 | 798 | }
|
789 | 799 |
|
790 | 800 | /**
|
791 |
| - * Unwraps technology specific wrappers. Custom conversions may choose to return a wrapper class that contains additional information for the technology driver. |
792 |
| - * These wrappers can't be used as members of a collection, therefore we may have to unwrap the values. |
793 |
| - * |
794 |
| - * This method allows technology specific implemenations to provide such an unwrapping mechanism. |
| 801 | + * Unwraps technology-specific wrappers. Custom conversions may choose to return a wrapper class that contains |
| 802 | + * additional information for the driver. These wrappers can't be used as members of a collection, therefore we may |
| 803 | + * have to unwrap the values. This method allows technology-specific implementations to provide such an unwrapping |
| 804 | + * mechanism. |
795 | 805 | *
|
796 | 806 | * @param convertedValue a value that might need unwrapping.
|
| 807 | + * @since 4.0 |
797 | 808 | */
|
798 | 809 | @Nullable
|
799 | 810 | protected Object unwrap(@Nullable Object convertedValue) {
|
|
0 commit comments