@DiscriminatorValue("1")
@Entity
@SecondaryTables({
@SecondaryTable(name = "MANDATORY_TABLE"),
@SecondaryTable(name = "OPTIONAL_TABLE_1", pkJoinColumns = @PrimaryKeyJoinColumn(name = "PK1")),
@SecondaryTable(name = "OPTIONAL_TABLE_2", pkJoinColumns = @PrimaryKeyJoinColumn(name = "PK2"))
})
@Tables({
@Table(appliesTo = "mandatory_table", fetch = FetchMode.SUBSELECT, optional = false),
@Table(appliesTo = "optional_table_1", fetch = FetchMode.SUBSELECT, optional = true),
@Table(appliesTo = "optional_table_2", fetch = FetchMode.SUBSELECT, optional = true)
})
public abstract class Inherited extends BaseTable {
}