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 f1a7e70a1..edc792d6a 100644 --- a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java +++ b/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java @@ -20,7 +20,6 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Collections; import java.util.HashSet; -import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -229,7 +228,7 @@ public abstract class AbstractPersistentProperty
@Override
public boolean isMap() {
- return Map.class.isAssignableFrom(getType());
+ return information.isMap();
}
@Override
diff --git a/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java b/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java
index a2921a0a7..0872e6a0b 100755
--- a/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java
+++ b/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java
@@ -238,6 +238,14 @@ public class AbstractPersistentPropertyUnitTests {
.containsExactly((Class) JMoleculesAggregate.class);
}
+ @Test // #2549
+ void considersVavrMaps() {
+
+ SamplePersistentProperty property = getProperty(VavrWrapper.class, "vavrMap");
+
+ assertThat(property.isMap()).isTrue();
+ }
+
private