# Hierarchy For Package org.springframework.data.mapping.model

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.springframework.data.mapping.model.AbstractPersistentProperty<P> (implements org.springframework.data.mapping.PersistentProperty<P>)
    - org.springframework.data.mapping.model.AnnotationBasedPersistentProperty<P>
  - org.springframework.data.mapping.model.BasicPersistentEntity<T,P> (implements org.springframework.data.mapping.model.MutablePersistentEntity<T,P>)
  - org.springframework.data.mapping.model.CamelCaseSplittingFieldNamingStrategy (implements org.springframework.data.mapping.model.FieldNamingStrategy)
    - org.springframework.data.mapping.model.CamelCaseAbbreviatingFieldNamingStrategy
    - org.springframework.data.mapping.model.SnakeCaseFieldNamingStrategy
  - org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory (implements org.springframework.data.mapping.model.PersistentPropertyAccessorFactory)
  - org.springframework.data.mapping.model.ConvertingPropertyAccessor<T>
  - org.springframework.data.mapping.model.DefaultSpELExpressionEvaluator (implements org.springframework.data.mapping.model.SpELExpressionEvaluator)
  - org.springframework.data.mapping.model.EntityInstantiators
  - org.springframework.data.mapping.model.InstantiationAwarePropertyAccessor<T> (implements org.springframework.data.mapping.PersistentPropertyAccessor<T>)
  - org.springframework.data.mapping.model.InstantiationAwarePropertyAccessorFactory (implements org.springframework.data.mapping.model.PersistentPropertyAccessorFactory)
  - org.springframework.data.mapping.model.InternalEntityInstantiatorFactory
  - org.springframework.data.mapping.model.KotlinDefaultMask
  - org.springframework.data.mapping.model.PersistentEntityParameterValueProvider<P> (implements org.springframework.data.mapping.model.ParameterValueProvider<P>)
  - org.springframework.data.mapping.model.Property
  - org.springframework.data.mapping.model.SimpleTypeHolder
  - org.springframework.data.mapping.model.SpELContext
  - org.springframework.data.mapping.model.SpELExpressionParameterValueProvider<P> (implements org.springframework.data.mapping.model.ParameterValueProvider<P>)
  - org.springframework.data.mapping.TargetAwareIdentifierAccessor (implements org.springframework.data.mapping.IdentifierAccessor)
    - org.springframework.data.mapping.model.IdPropertyIdentifierAccessor
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.springframework.data.mapping.model.MappingInstantiationException

## Interface Hierarchy

- org.springframework.data.mapping.model.EntityInstantiator
- org.springframework.data.mapping.model.FieldNamingStrategy
- java.lang.Iterable<T>
  - org.springframework.data.mapping.PersistentEntity<T,P>
    - org.springframework.data.mapping.model.MutablePersistentEntity<T,P>
- org.springframework.data.mapping.model.ParameterValueProvider<P>
- org.springframework.data.mapping.model.PersistentPropertyAccessorFactory
- org.springframework.data.mapping.model.PreferredConstructorDiscoverer<T,P>
- org.springframework.data.mapping.model.PropertyValueProvider<P>
- org.springframework.data.mapping.model.SpELExpressionEvaluator

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.springframework.data.mapping.model.PreferredConstructorDiscoverer.Discoverers
    - org.springframework.data.mapping.model.PropertyNameFieldNamingStrategy (implements org.springframework.data.mapping.model.FieldNamingStrategy)
    - org.springframework.data.mapping.model.BeanWrapperPropertyAccessorFactory (implements org.springframework.data.mapping.model.PersistentPropertyAccessorFactory)