diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java index c4a2fabc8..0bea9f298 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java @@ -91,6 +91,16 @@ public class DefaultRepositoryMetadataUnitTests { assertEquals(Integer.class, metadata.getIdType()); } + /** + * @see DATACMNS-442 + */ + @Test + public void detectsIdTypeOnIntermediateRepository() { + + RepositoryMetadata metadata = new DefaultRepositoryMetadata(ConcreteRepository.class); + assertEquals(Long.class, metadata.getIdType()); + } + @SuppressWarnings("unused") private class User { @@ -149,4 +159,12 @@ public class DefaultRepositoryMetadataUnitTests { static class GenericEntity {} static interface GenericEntityRepository extends CrudRepository, Long> {} + + static interface IdTypeFixingRepository extends Repository { + + } + + static interface ConcreteRepository extends IdTypeFixingRepository { + + } } diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java index e27d03afd..c06a62c5f 100644 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java @@ -22,7 +22,7 @@ import static org.mockito.Mockito.*; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.Repository; import org.springframework.test.util.ReflectionTestUtils; /** @@ -47,7 +47,7 @@ public class RepositoryFactoryBeanSupportUnitTests { RepositoryFactoryBeanSupport factoryBean = new DummyRepositoryFactoryBean(); factoryBean.setBeanClassLoader(classLoader); factoryBean.setLazyInit(true); - factoryBean.setRepositoryInterface(CrudRepository.class); + factoryBean.setRepositoryInterface(SampleRepository.class); factoryBean.afterPropertiesSet(); Object factory = ReflectionTestUtils.getField(factoryBean, "factory"); @@ -67,4 +67,6 @@ public class RepositoryFactoryBeanSupportUnitTests { RepositoryFactoryBeanSupport factoryBean = new DummyRepositoryFactoryBean(); factoryBean.afterPropertiesSet(); } + + interface SampleRepository extends Repository {} }