我在我的应用程序中使用继承概念。
父类:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "NATURE_PERSONNE", discriminatorType = DiscriminatorType.STRING, length = 4)
@Table(name = "PERSONNE")
public class Personne extends AuditingEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@Column(name = "NOM")
private String nom;
@Column(name = "PRENOM")
private String prenom;
...
}
子类:
@Entity
@DiscriminatorValue("EMPL")
public class Employeur extends Personne {
@Column(name = "DATE_DEBUT_TRAVAIL")
private LocalDate dateDebutTravail;
@Column(name = "EMPLOI")
private String emploi;
....
}
是否有可能在 Liquibase 中创建继承结构。怎么办?
谢谢。
最佳答案
基本上 liquibase 不关心继承。它只关心数据库结构,例如模式、表和索引。
也就是说,如果您想让 liquibase 为您的两个实体类创建表,您将需要弄清楚 JPA 期望这些表是什么样子,并编写匹配的 liquibase 语句。在不知道 AuditingEntity
的情况下,我无法提供确切的声明,但基本上您最终会得到一个表 PERSONNE
,其中包含 Personne
的所有属性和雇主
。
关于java - liquibase 变更集中的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41759691/