使用注解的每个具体类表2024 年 8 月 29 日 | 阅读 3 分钟 在每具体类表中,每个类都会创建一个表。因此表中没有可空值。这种方法的缺点是子类表中会创建重复的列。 在这里,我们需要在父类中使用 @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) 注解,并在子类中使用 @AttributeOverrides 注解。 @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) 指定我们正在使用每具体类表策略。它应该只在父类中指定。 @AttributeOverrides 定义父类属性将在此类中被重写。在表结构中,父类表列将被添加到子类表中。 类层次结构如下所示 ![]()
Employee 类的表结构![]() Regular_Employee 类的表结构![]() Contract_Employee 类的表结构![]() 每具体类表的示例在这个例子中,我们创建了三个类,并在 employee.hbm.xml 文件中提供了这些类的映射。 1) 创建持久化类您需要创建表示继承的持久化类。 让我们为上面的层次结构创建三个类 文件:Employee.java文件:Regular_Employee.java文件:Contract_Employee.java2) 在 pom.xml 文件中添加项目信息和配置。打开 pom.xml 文件并单击“source”。现在,在 <dependencies>....</dependencies> 标签之间添加以下依赖项。 3) 在配置文件中添加 hbm 文件的映射文件: hibernate.cfg.xml定义了 hbm2ddl.auto 属性,用于在数据库中创建自动表。 4) 创建存储持久化对象的类在这个类中,我们只是将员工对象存储在数据库中。 文件:StoreData.java下一主题每子类表 |
我们请求您订阅我们的新闻通讯以获取最新更新。