| Class Summary | 
| AggregateCollectionMapping | Purpose: The aggregate collection mapping is used to represent the aggregate relationship between a single
 source object and a collection of target objects. | 
| AggregateMapping | Purpose: Two objects can be considered to be related by aggregation if there is a strict
 1:1 relationship between the objects. | 
| AggregateObjectMapping | Purpose:Two objects can be considered to be related by aggregation if there is a strict
 1:1 relationship between the objects. | 
| Association | Purpose: Generic association object. | 
| AttributeAccessor | Purpose: This provides an abstract class for setting and retrieving
 the attribute value for the mapping from an object. | 
| CollectionMapping | Purpose: Abstract class for relationship mappings which store collection of objects | 
| DatabaseMapping | Purpose: Defines how an attribute of an object maps to and from the database
 Responsibilities:
  Define type of relationship (1:1/1:M/M:M/etc.) | 
| DirectCollectionMapping | Purpose: This mapping is used to store a collection of simple types (String, Number, Date, etc.) | 
| DirectMapMapping | Mapping for a collection of key-value pairs. | 
| DirectToFieldMapping | Purpose: Maps an attribute to the corresponding database field type. | 
| ForeignReferenceMapping | Purpose: Abstract class for relationship mappings | 
| ManyToManyMapping | Purpose: Many to many mappings are used to represent the relationships
 between a collection of source objects and a collection of target objects. | 
| ManyToOneMapping | Purpose: Define the relationship to be a ManyToOne. | 
| ObjectReferenceMapping | Purpose: Abstract class for 1:1, variable 1:1 and reference mappings | 
| OneToManyMapping | Purpose: This mapping is used to represent the
 typical RDBMS relationship between a single
 source object and collection of target objects; where,
 on the database, the target objects have references
 (foreign keys) to the source object. | 
| OneToOneMapping | Purpose: One to one mappings are used to represent a pointer references
 between two java objects. | 
| PropertyAssociation | Purpose: Generic association object. | 
| RelationTableMechanism | Purpose: Contains relation table functionality
 that was originally defined in ManyToManyMapping
 and now is shared with OneToOneMapping. | 
| TransformationMapping | Purpose: A transformation mapping is used for a specialized translation between how
 a value is represented in Java and its representation on the databae. | 
| TypedAssociation | Purpose: Generic association object. | 
| UnidirectionalOneToManyMapping | Purpose: UnidirectionalOneToManyMapping doesn't have 1:1 back reference mapping. | 
| VariableOneToOneMapping | Purpose: Variable one to one mappings are used to represent a pointer references
 between a java object and an implementer of an interface. |