From ca4de87a8b3ca8409256d7a3214374923b75f783 Mon Sep 17 00:00:00 2001 From: "J. Brisbin" Date: Sat, 12 Mar 2011 20:06:47 -0600 Subject: [PATCH] Fixes for superclass bug --- .../springframework/data/mapping/BasicMappingContext.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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);