【发布时间】:2022-01-24 01:22:51
【问题描述】:
我正在使用 spring boot 和 Hibernate ,并且我有以下实体
@Entity
public class SystemicLevel {
@Id
private Long id;
@Column
private String name;
@Column
private String detail;
@OneToOne
@JoinColumn(name="previous_Level")
private SystemicLevel previousSystemicLevel;
}
在 application.properties 文件中,我将 spring.jpa.hibernate.ddl-auto 属性设置为 "create" 所以当我运行应用程序时,我得到了这个错误:
org.hibernate.tool.schema.spi.CommandAcceptanceException: 错误 执行 DDL "alter table systems_level 添加约束 FKehejw8ac9k3req7redt7ef4uv 外键(previous_level)引用 system_level (id)" 通过 JDBC 语句
我认为当 Hibernate 尝试创建 systemic_level 表时,它会尝试使用 previous_level 列自行引用该表,但该表尚未创建,因此它会抛出例外。
我想知道是否存在此问题的解决方案。
【问题讨论】:
标签: spring-boot hibernate jpa spring-data