DiscriminatorStrategy.getClassConditions(Select sel,
Joins joins,
ClassMapping base,
boolean subs)
Return SQL to limit the classes selected as much as possible to the
given base class, and optionally its subclasses.

MappingDefaults.getJoinForeignKey(ClassMapping cls,
Table local,
Table foreign)
Return a default foreign key for the join from this class' table to its
superclass' table, or null for a logical foreign key only.

LRSCollectionFieldStrategy.getIndependentElementMappings(boolean traverse)
Return all independent mappings to which this strategy must join in
order to access collection elements, or empty array if none.

Select.orderByPrimaryKey(ClassMapping mapping,
boolean asc,
boolean sel)
Order on the primary key columns of the given mapping,
joining to superclasses as necessary to get all columns needed to
construct an object id.

Select.orderByPrimaryKey(ClassMapping mapping,
boolean asc,
Joins joins,
boolean sel)
Select and order on the primary key columns of the given mapping,
joining to superclasses as necessary to get all columns needed to
construct an object id.

Select.selectPrimaryKey(ClassMapping mapping,
Joins joins)
Select the primary key columns of the given mapping, joining to
superclasses as necessary to get all columns needed to construct
an object id.