单表继承
所谓单表继承就是一个数据库表对应的实体类为两个,且这两个实体类存在继承关系。在数据库表中靠一个字段值来区分这行数据对应的实体类实例是那个类型。
在实体类中需要在父类前加入以下注解:
@Entity
@Table(name = "表名")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@ForceDiscriminator
@DiscriminatorValue("用户区分的字符串")
在以上注解中,前两个用于表明这是个实体对应的数据库表名称。@Inheritance(strategy = InheritanceType.SINGLE_TABLE):单表继承策略,只能放在父类上面。@ForceDiscriminator:查询对象时强制加入子类标识字段。@DiscriminatorValue此类在数据在数据库表中的标识字符串,同时也要在子类中加入此注解,以声明子类在数据库表中的区分字符串