本文概述
继承是面向对象编程语言的一项关键功能, 子类可以在其中获取其父类的属性。此功能增强了代码的可重用性。
关系数据库不支持继承机制。因此, Java Persistence API(JPA)用于映射关系数据库模型中继承的关键特征。
JPA继承注释
以下是最常用的JPA继承注释:-
- @Inheritence-此注释应用于根实体类, 以定义继承策略。如果没有使用此注释定义任何策略类型, 则它遵循单表策略。
- @MappedSuperclass-此批注适用于其子类继承的类。映射的超类不包含任何单独的表。
- @DiscriminatorColumn-discriminator属性将一个实体与另一个实体区分开。因此, 该注释用于提供鉴别符列的名称。仅在根实体类上需要指定此注释。
- @DiscriminatorValue-此注释用于指定代表特定实体的值的类型。需要在子实体类上指定此注释。
注意-如果我们未传递discriminator列的名称及其值, 则JPA默认情况下会考虑使用它。它将DTYPE视为标识符列名称, 并将实体名称视为标识符值。
JPA继承策略
JPA提供了三种策略, 通过它们我们可以轻松地在数据库中持久继承。
- 单表策略
- 加盟策略
- 逐表策略
评论前必须登录!
注册