Java Hibernate-基类外键

Java Hibernate-基类外键,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我有一个实体级设备,它来自于基类RecordInfo: @Entity @DynamicInsert @DynamicUpdate @Getter @Setter @NoArgsConstructor @Table(name="equipment", schema = "general", indexes = {@Index(name = "idx_general_equipment_deleted", columnList = "deleted")}, uniq

我有一个实体级设备,它来自于基类RecordInfo:

@Entity
@DynamicInsert
@DynamicUpdate
@Getter
@Setter
@NoArgsConstructor
@Table(name="equipment", schema = "general",
        indexes = {@Index(name = "idx_general_equipment_deleted", columnList = "deleted")},
        uniqueConstraints= {
                @UniqueConstraint(name = "uq_general_equipment_code", columnNames = {"code"})
        })
public class Equipment extends RecordInfo implements ICodeDesc {

    @NotNull
    @Length(min = 1, max = 20)
    @Column
    private String code;

    @Length(max = 255)
    @Column
    private String description;

    @NotNull
    @Column(columnDefinition = "boolean default 'false'")
    private boolean deleted;

    @NotNull
    @Column
    @Enumerated(EnumType.ORDINAL)
    private EEquipmentType type;

    @ManyToOne(fetch = FetchType.LAZY)
    @Cascade(org.hibernate.annotations.CascadeType.ALL)
    @JoinColumn(name="unit_id", foreignKey = @ForeignKey(name = "fk_general_unit_equipment"))
    private Unit unit;
在应用程序启动时,我遇到以下异常:

org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl:GenerationTarget在接受命令时遇到异常:通过JDBC语句执行DDL“alter table general.equipment drop constraint fk_core_record_info_user”时出错
org.hibernate.tool.schema.spi.CommandAcceptanceException:通过JDBC语句执行DDL“alter table general.DEPLACE drop constraint fk_core_record_info_user”时出错

Hibernate确实会在执行以下操作时删除此外键:

Hibernate:如果存在,则删除表administration.user\u数据级联

相关的休眠设置包括:

hibernate.hbm2ddl.auto=create
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
我使用Spring boot版本“2.2.0.M6”

有没有办法避免这种异常,hibernate如何确定在应用程序启动时删除和重新创建表的顺序

hibernate.hbm2ddl.auto=create
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect