2017-01-20 86 views
0

我在我的應用程序中使用繼承概念。liquibase變更集的繼承

的父類:

@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創建繼承結構的可能性。它怎麼樣?

謝謝。

回答

1

基本上liquibase不關心繼承。它只關心數據庫結構,如模式,表和索引。

這就是說,如果您想讓liquibase爲您的兩個實體類創建表,您需要弄清楚JPA期望這些表看起來像寫出匹配的liquibase語句。在不知道AuditingEntity的情況下,我無法提供準確的說法,但基本上,您最終將得到一個帶有PersonneEmployeur的所有屬性的表PERSONNE

+0

非常感謝你的答案dpr。 – jam