@Entity
@Table(name = "tbl_sample")
public class Sample extends Auditable {
private Long id;
@ManyToOne
@JoinColumn(name = "relationA", nullable = true)
private RelationA relationA;
... etc
}
@MappedSuperClass
public abstract class Auditable extends Persistable {
}
@MappedSuperClass
public abstract class Persistable {
}
public class BloodSample extends Sample {
.....
}
BloodSample.hbm.xml
<hibernate-mapping package="com.sample.model">
<joined-subclass name="BloodSample" table="tbl_blood_sample"
extends="com.sample.model.Sample">
<key column="ID" />
<property name="sampleNo" column="sampleNo"/>
etc....
</joined-subclass>
</hibernate-mapping>