使用场景
JPA 方式
基于代码复用和模型分离的思想
使用JPA的 @MappedSuperclass 注解将实体类的多个属性分别封装到不同的非实体类中。
例如,数据库表中都需要 某些字段,例如创建时间,更新时间,有效标识,id等等
那么使用一个父类来封装这些通用属性,并用@MappedSuperclas标识该类,作为父类,让其他子类继承。
特殊点:
添加注解 @MappedSuperclass 的类将不是一个完整的实体类,不会映射到数据库表中,即不会创建它对应的表,但是其属性都将映射到其子类的数据库字段中。
添加注解 @MappedSuperclass 的类不能再标注@Entity或@Table注解,也无需实现序列化接口。