在每个子类的表模式中,子类映射的表通过主键和外键关系与父类映射的表相关联。<joined-subclass> 元素用于通过主键和外键关系将子类映射到父类。在这个示例中,我们将使用 hb2ddl.auto 属性自动生成表。因此,我们不需要担心在数据库中创建表。让我们看一下将要映射的类的层次结构。

- 阅读剩余部分 -

在每个具体类的表模式中,每个类都会创建一个独立的表。因此,表中没有可空值。该方法的缺点是子类表中会创建重复的列。在这里,我们需要在父类中使用 @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) 注解,并在子类中使用 @AttributeOverrides 注解。@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) 指定我们使用的是每个具体类一个表的策略。该注解只应在父类中指定。@AttributeOverrides 定义父类的属性将在该类中重写。在表结构中,父类表的列将添加到子类表中。

- 阅读剩余部分 -