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 b7361896b..c2a63f9c9 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; @@ -318,7 +317,7 @@ public abstract class AbstractPersistentProperty
*/
@Override
public boolean isMap() {
- return Map.class.isAssignableFrom(getType());
+ return information.isMap();
}
/*
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 f9d11f075..eb7c7bfc4 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