diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java index e354d5151..039b93dea 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java @@ -91,7 +91,13 @@ public class BasicMappingContext implements MappingContext, InitializingBean { descriptors.put(descriptor.getName(), descriptor); } - for (Field field : type.getDeclaredFields()) { + List fields = new LinkedList(Arrays.asList(type.getDeclaredFields())); + Class superClazz = type.getSuperclass(); + while (Object.class != superClazz) { + fields.addAll(new LinkedList(Arrays.asList(superClazz.getDeclaredFields()))); + superClazz = superClazz.getSuperclass(); + } + for (Field field : fields) { PropertyDescriptor descriptor = descriptors.get(field.getName()); if (builder.isPersistentProperty(field, descriptor)) { PersistentProperty property = builder.createPersistentProperty(field, descriptor);