使用 xml 文件的子类表示例

24 Oct 2024 | 3 分钟阅读

在表子类的情况下,子类映射表通过主键和外键关系与父类映射表相关。

类的 <joined-subclass> 元素用于使用主键和外键关系将子类映射到父类。

在本例中,我们将使用 hb2ddl.auto 属性来自动生成表。因此,我们不需要担心在数据库中创建表。

让我们看看我们要映射的类的层次结构。

table per concrete class

让我们看看如何通过 joined-subclass 元素映射此层次结构

在每个子类表的类的情况下,数据库中将有三个表,每个表代表一个特定的类。

类的 joined-subclass 子元素指定子类。

joined-subclass 的 key 子元素用于在子类映射表中生成外键。这个外键将与父类映射表的主键相关联。

 

每个表的表结构将如下所示

Employee 类的表结构

table per subclass class
 

Regular_Employee 类的表结构

table per subclass class
 

Contract_Employee 类的表结构

table per subclass class

表子类类的示例

在这个例子中,我们创建了三个类,并在 employee.hbm.xml 文件中提供了这些类的映射。

1) 创建持久化类

您需要创建表示继承的持久化类。 让我们为上面的层次结构创建三个类

文件:Employee.java
文件:Regular_Employee.java
文件:Contract_Employee.java

2) 为持久类创建映射文件

上面已经讨论了层次结构的映射。

文件:employee.hbm.xml

3) 创建配置文件

打开 hibernate.cgf.xml 文件,并添加映射资源条目,如下所示

现在,配置文件将如下所示

文件: hibernate.cfg.xml

定义了 hbm2ddl.auto 属性,用于在数据库中创建自动表。


4) 创建存储持久化对象的类

在这个类中,我们只是将员工对象存储在数据库中。

文件:StoreData.java