@Entity@Table(name = "T_BASE")@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name = "CATEGORY", discriminatorType = DiscriminatorType.STRING)public class BaseDomain ...{}@Entity@DiscriminatorValue("sub1")public class SubDomain1 extends BaseDomain ...{}@Entity@SecondaryTable(name = "T_SUB2")@DiscriminatorValue("sub2")public class SubDomain2 extends BaseDomain ...{ private String ext; @Column(table = "T_SUB2", name = "EXT2") public String getExt() ...{ return ext; } public void setExt(String ext) ...{ this.ext = ext; }}