diff --git a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java b/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java
index 87bb00e35..c4b7a1176 100644
--- a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java
+++ b/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java
@@ -257,7 +257,7 @@ public abstract class AbstractPersistentProperty
TypeInformation> actualType = information.getActualType();
boolean isComplexType = actualType == null ? false : !simpleTypeHolder.isSimpleType(actualType.getType());
- return isComplexType && !isTransient() && !isCollectionLike() && !isMap();
+ return isComplexType && !isTransient();
}
/*
diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java
index a1fba1f11..cca004b81 100644
--- a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java
+++ b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
import groovy.lang.MetaClass;
+import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -224,6 +225,23 @@ public class AbstractMappingContextUnitTests {
assertThat(context.getPersistentEntity(Integer.class), is(nullValue()));
}
+ /**
+ * @see DATACMNS-462
+ */
+ @Test
+ public void hasPersistentEntityForCollectionPropertiesAfterInitialization() {
+
+ context.getPersistentEntity(Sample.class);
+
+ for (BasicPersistentEntity