Skip to content

Commit 1c603cf

Browse files
committed
Add support for factory methods.
R2DBC now supports the use of factory methods for entity creation. Spring Data JDBC already does so via f326897 Simply annotate a static factory method on your entity class with `@PeristenceCreator`. Closes #1346 See spring-projects/spring-data-commons#2476 See f326897
1 parent d1890e3 commit 1c603cf

File tree

2 files changed

+2
-8
lines changed

2 files changed

+2
-8
lines changed

spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java

-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import org.springframework.data.mapping.Parameter;
3838
import org.springframework.data.mapping.PersistentPropertyAccessor;
3939
import org.springframework.data.mapping.PersistentPropertyPath;
40-
import org.springframework.data.mapping.PreferredConstructor;
4140
import org.springframework.data.mapping.context.MappingContext;
4241
import org.springframework.data.mapping.model.DefaultSpELExpressionEvaluator;
4342
import org.springframework.data.mapping.model.ParameterValueProvider;
@@ -52,7 +51,6 @@
5251
import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
5352
import org.springframework.data.relational.core.sql.IdentifierProcessing;
5453
import org.springframework.data.util.TypeInformation;
55-
import org.springframework.data.util.TypeInformation;
5654
import org.springframework.lang.Nullable;
5755
import org.springframework.util.Assert;
5856

spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/convert/MappingR2dbcConverter.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
import org.springframework.dao.InvalidDataAccessApiUsageException;
3333
import org.springframework.data.convert.CustomConversions;
3434
import org.springframework.data.mapping.IdentifierAccessor;
35+
import org.springframework.data.mapping.InstanceCreatorMetadata;
3536
import org.springframework.data.mapping.MappingException;
3637
import org.springframework.data.mapping.PersistentProperty;
3738
import org.springframework.data.mapping.PersistentPropertyAccessor;
38-
import org.springframework.data.mapping.PreferredConstructor;
3939
import org.springframework.data.mapping.context.MappingContext;
4040
import org.springframework.data.mapping.model.ConvertingPropertyAccessor;
4141
import org.springframework.data.mapping.model.DefaultSpELExpressionEvaluator;
@@ -311,7 +311,7 @@ private <S> S readEntityFrom(Row row, @Nullable RowMetadata metadata, Persistent
311311
private <S> S createInstance(Row row, @Nullable RowMetadata rowMetadata, String prefix,
312312
RelationalPersistentEntity<S> entity) {
313313

314-
PreferredConstructor<S, RelationalPersistentProperty> persistenceConstructor = entity.getPersistenceConstructor();
314+
InstanceCreatorMetadata<RelationalPersistentProperty> persistenceConstructor = entity.getInstanceCreatorMetadata();
315315
ParameterValueProvider<RelationalPersistentProperty> provider;
316316

317317
if (persistenceConstructor != null && persistenceConstructor.hasParameters()) {
@@ -716,10 +716,6 @@ public RowParameterValueProvider(Row resultSet, RowMetadata metadata, Relational
716716
this.prefix = prefix;
717717
}
718718

719-
/*
720-
* (non-Javadoc)
721-
* @see org.springframework.data.mapping.model.ParameterValueProvider#getParameterValue(org.springframework.data.mapping.PreferredConstructor.Parameter)
722-
*/
723719
@Override
724720
@Nullable
725721
public <T> T getParameterValue(

0 commit comments

Comments
 (0)