diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicPersistentProperty.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicPersistentProperty.java index afc860d88..1db3f0e3f 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicPersistentProperty.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicPersistentProperty.java @@ -153,6 +153,11 @@ public class BasicPersistentProperty implements PersistentProperty { return !MappingBeanHelper.isSimpleType(getType()); } } + + @Override + public boolean isEntity() { + return isComplexType() && !isTransient() && !isCollection() && !isMap(); + } @Override public Class getComponentType() { diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentProperty.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentProperty.java index e6276c43a..55f876acf 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentProperty.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentProperty.java @@ -54,6 +54,14 @@ public interface PersistentProperty { boolean isComplexType(); + /** + * Returns whether the property has to be regarded as entity which means its type will be also be considered to be a + * {@link PersistentEntity}. + * + * @return + */ + boolean isEntity(); + Class getComponentType(); boolean isIdProperty();