Table representing a Java class (or classes) as a first class object (FCO).
Uses the inheritance strategy to control whether this represents multiple classes
or just the one class.

Mappings

This class adds some additional mappings over what the superclass provides. Here we add

externalFkMappings - any mappings for Collections that have no associated
field in this class, providing the foreign key column(s)

externalOrderMappings - mappings for any ordering column used by Lists for ordering
elements of this class

externalFkDiscriminatorMappings - mappings for any discriminator column used when sharing
external foreign keys to distinguish the element owner field

Classes

A table can represent multiple classes. It has a nominal owner which is the class
that has an inheritance strategy of "new-table". All classes that utilise this table
have their MetaData stored in this object.

Secondary Tables

This class represents a "primary" table. That is, the main table where objects of a
class are persisted. It can have several "secondary" tables where some of the classes
fields are stored at persistence.

provideExternalMappings(org.datanucleus.store.mapped.mapping.MappingConsumer consumer,
int mappingType)
Provide the mappings to the consumer for all external fields mapped to this table
of the specified type

void

provideMappingsForMembers(org.datanucleus.store.mapped.mapping.MappingConsumer consumer,
org.datanucleus.metadata.AbstractMemberMetaData[] fieldMetaData,
boolean includeSecondaryTables)
Provide the mappings to the consumer for all absolute field Numbers in this table
that are container in the fieldNumbers parameter.

void

providePrimaryKeyMappings(org.datanucleus.store.mapped.mapping.MappingConsumer consumer)
Provide the mappings to the consumer for all primary-key fields mapped to
this table.

void

provideUnmappedDatastoreFields(org.datanucleus.store.mapped.mapping.MappingConsumer consumer)
Method to provide all unmapped datastore fields (columns) to the consumer.

manageClass

Method that adds the specified class to be managed by this table.
Will provide mapping of all persistent fields to their underlying columns, map all necessary
identity fields, and manage all "unmapped" columns that have no associated field.
where the columns are defined for each mapping.

getMemberMapping

Accessor for the field mapping for the named field.
The field may exist in a parent table or a secondary table.
Throws a NoSuchPersistentFieldException if the field name is not found.
TODO Use of this is discouraged since the fieldName is not fully qualified
and if a superclass-table inheritance is used we could have 2 fields of that name here.