diff --git a/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java b/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java index 01080cdfb..828c5ff3a 100644 --- a/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java +++ b/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java @@ -62,6 +62,7 @@ public class DomainClassConverter conversionService.addConverter(it)); - this.toIdConverter = Optional.of(new ToIdConverter(repositories, conversionService)); - this.toIdConverter.ifPresent(it -> conversionService.addConverter(it)); return repositories; }); diff --git a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java b/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java index 48f4368a3..c6cbed87f 100755 --- a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java @@ -34,6 +34,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.support.GenericApplicationContext; import org.springframework.core.MethodParameter; import org.springframework.core.convert.TypeDescriptor; +import org.springframework.core.convert.support.ConfigurableConversionService; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.core.support.DummyRepositoryFactoryBean; @@ -189,6 +190,16 @@ public class DomainClassConverterUnitTests { assertThat(toIdConverter).map(it -> it.matches(SUB_USER_TYPE, target)).hasValue(false); } + @Test // DATACMNS-1743 + public void registersConvertersOnConversionService() { + + ConfigurableConversionService conversionService = new DefaultConversionService(); + DomainClassConverter converter = new DomainClassConverter<>(conversionService); + converter.setApplicationContext(initContextWithRepo()); + + assertThat(conversionService.canConvert(String.class, User.class)).isTrue(); + } + private ApplicationContext initContextWithRepo() { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DummyRepositoryFactoryBean.class);