Fixes for superclass bug

This commit is contained in:
J. Brisbin
2011-03-12 20:06:47 -06:00
parent e254dedd96
commit ca4de87a8b

View File

@@ -91,7 +91,13 @@ public class BasicMappingContext implements MappingContext, InitializingBean {
descriptors.put(descriptor.getName(), descriptor);
}
for (Field field : type.getDeclaredFields()) {
List<Field> fields = new LinkedList<Field>(Arrays.asList(type.getDeclaredFields()));
Class<?> superClazz = type.getSuperclass();
while (Object.class != superClazz) {
fields.addAll(new LinkedList<Field>(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);