Java Hibernate通过带Postgres的JDBC语句执行DDL时出错

Java Hibernate通过带Postgres的JDBC语句执行DDL时出错,java,postgresql,spring-boot,hibernate,spring-data-jpa,Java,Postgresql,Spring Boot,Hibernate,Spring Data Jpa,我的实体(使用Spring boot)有点问题。我只是不明白可能是什么问题。hibernate找不到实体之间关系的原因可能是什么 尝试运行应用程序时,我遇到以下异常情况: Error executing DDL "alter table order_barcode drop constraint FK16yppq17qkt9vaiw536c468xq" via JDBC Statement Caused by: org.postgresql.util.PSQLExceptio

我的实体(使用Spring boot)有点问题。我只是不明白可能是什么问题。hibernate找不到实体之间关系的原因可能是什么

尝试运行应用程序时,我遇到以下异常情况:

Error executing DDL "alter table order_barcode drop constraint FK16yppq17qkt9vaiw536c468xq" via JDBC Statement
Caused by: org.postgresql.util.PSQLException: ERROR: relation "order_barcode" does not exist
Error executing DDL "alter table "orders" drop constraint FK7nkj808174vaoen3hn8lp39i6" via JDBC Statement
ERROR: relation "orders" does not exist
ERROR: relation "order_ticket" does not exist
实体

@Entity
@Table(name="\"orders\"")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Order {

    public enum OrderStatus {
     
        INITIALIZED("initialized"),
        COMPLETE("complete"),
        FAILED("failed");

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

  
    @NotNull
    @Enumerated(EnumType.STRING)
    private OrderStatus status;

    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "order_id")
    private Set<OrderTicket> tickets;

    @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private OrderPayment payment;
}

能否尝试在每个不存在的表上添加@Table注释

@Table(name = "ORDER",schema="xxxxx")

Hibernate将删除您的shema,然后在您设置spring时在引导时创建它。jpa.Hibernate.ddl-auto:create drop

您可以尝试在每个不存在的表上添加@Table注释吗

@Table(name = "ORDER",schema="xxxxx")

Hibernate将删除您的shema,然后在您设置spring时在引导时创建它。jpa.Hibernate.ddl-auto:create drop

,这不能解决同样的错误信息的问题,我也会考虑从龙目岛数据JPA实体中截取您的DTOS。我已经用DDL Auto:更新并测试了0个错误:好的,然后他开始,然后删除它,这意味着它先行,然后不那么难过,这不能解决同样的错误信息的问题,我也会考虑从龙目岛数据JPA实体中截取您的DTOS。我现在已经用DDL Auto:更新并测试了0个错误:好的,然后他开始并删除它,这意味着它先行,然后不再。
@Entity
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderTicket {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id;

    private Long templateId;
   
    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    @JoinColumn(name = "ticket_id")
    private Set<OrderBarcode> barcodes;
}

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/test
    username: ${DATABASE_USERNAME}
    password: ${DATABASE_PASSWORD}
    driver-class-name: org.postgresql.Driver
  jpa:
    hibernate:
    database-platform: org.hibernate.dialect.PostgreSQL82Dialect
      ddl-auto: create-drop
      # ddl-auto: update
    properties:
      hibernate:
       connection:
          characterEncoding: utf-8
          CharSet: utf-8
          useUniCode: true
       show-sql: false
        hbm2ddl:
          import_files: sql/import.sql
          import_files_sql_extractor: org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor
@Table(name = "ORDER",schema="xxxxx")