将Hibernate实体重构为子类

Mat*_*ist 6 java database refactoring hibernate

我有一个类,当前使用Hibernate映射为数据库表中的实体.该类应该重构为一个抽象类,其中包含一些对其所有子类通用的字段.

我正在使用注释来映射hibernate实体/关系类.

我想了解如何进行这种重构的建议/变体.

另外,关于如何将存储在数据库中的数据(对于将来的抽象超类)移动到其中一个具体子类中的一些建议.

Vin*_*nie 10

首先,我将创建超类并添加必要的注释.你必须决定:

  • 每班战略表
  • 每个类层次结构策略的单个表
  • 加入了子类策略

我认为加入的子类将在这里工作.您添加注释:

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
Run Code Online (Sandbox Code Playgroud)

到了超级班.

其次,我将创建表示子类的表.请记住,这些列只有子类唯一的列,共享的列将保留在超类中.然后从超类'表中选择属于每个子类的行并移动数据.

我不确定你是否在寻找更具体的东西?此文章解释了Hibernate的继承.