The Java EE 5 Tutorial  The Joined Subclass Strategy  In this
strategy, which corresponds to InheritanceType.JOINED, the root
of the class hierarchy is represented by a single table, and
each subclass has a separate table that only contains those
fields specific to that subclass. That is, the subclass table
does not contain columns for inherited fields or properties. The
subclass table also has a column or columns that represent its
primary key, which is a foreign key to the primary key of the
superclass table.  This strategy provides good support for
polymorphic relationships, but requires one or more join
operations to be performed when instantiating entity subclasses.
This may result in poor performance for extensive class
hierarchies. Similarly, queries that cover the entire class
hierarchy require join operations between the subclass tables,
resulting in decreased performance.  Some Java Persistence API
providers, including the default provider in the Application
Server, require a discriminator column in