伙计们。我在 Spring boot 2.3.0 和 PostgreSQL 12 项目中遇到问题。我有一个名为User的实体类,其代码如下:
\n\n@Entity\n@NoArgsConstructor\n@Data\n@AllArgsConstructor\n@Builder\npublic class User {\n @Id @GeneratedValue(strategy = GenerationType.IDENTITY)\n private Long id;\n private String username;\n private String email;\n private String firstName;\n private String lastName;\n private int age;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我的 application.properties 文件如下所示:
\n\nspring.jpa.hibernate.ddl-auto=create-drop\nspring.jpa.hibernate.show-sql=true\nspring.datasource.url=jdbc:postgresql://localhost:5432/dbname\nspring.datasource.username=postgres\nspring.datasource.password=*********\nRun Code Online (Sandbox Code Playgroud)\n\n担心的是,当我执行我的项目时,我会遇到这样的错误:
\n\norg.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "drop table if exists user cascade" via JDBC Statement\n at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) ~[hibernate-core-5.4.15.Final.jar:5.4.15.Final]\n at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString(SchemaDropperImpl.java:375) [hibernate-core-5.4.15.Final.jar:5.4.15.Final]\n at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlStrings(SchemaDropperImpl.java:359) [hibernate-core-5.4.15.Final.jar:5.4.15.Final]\n at org.hibernate.tool.schema.internal.SchemaDropperImpl.dropFromMetadata(SchemaDropperImpl.java:241) [hibernate-core-5.4.15.Final.jar:5.4.15.Final]\n at org.hibernate.tool.schema.internal.SchemaDropperImpl.performDrop(SchemaDropperImpl.java:154) [hibernate-core-5.4.15.Final.jar:5.4.15.Final]\n at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:126) [hibernate-core-5.4.15.Final.jar:5.4.15.Final]\n at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:112) [hibernate-core-5.4.15.Final.jar:5.4.15.Final]\n at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:145) …Run Code Online (Sandbox Code Playgroud)