首页 > 解决方案 > 在 Spring Boot 应用程序中使用休眠向现有表添加外键关系

问题描述

我正在使用休眠来创建和更新表。现在我正在尝试从现有表中添加与新表的关系,但我收到错误消息。

项目实体.java

@Getter
@Setter
@Table(name="Item")
@Entity(name="ItemEntity")
public class ItemEntity {

 //item_id

    //item_name

}

上表已经有一些条目。现在我正在尝试将新表(购物车)之间的关系添加为 ManyToOne 关系,如下所示。

@ManyToOne
@JoinColumn(name="cart_id", nullable=false)
private Cart cart;

新实体 (CartEntity.java)

@Getter
@Setter
@Table(name="Cart")
@Entity(name="CartEntity")
public class CartEntity {

 //cart_id

 @OneToMany(mappedBy="cart")
 private Set<Items> items;

}

由于 ItemEntity 已经有一些条目,我无法像上面那样添加关系。任何帮助表示赞赏。尝试添加关系时出现以下错误:

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table Item add constraint F9c5xc7cj5432ua6x332x40 foreign key (item_id) references cart" via JDBC Statement.

提前致谢!

标签: javadatabasehibernatespring-bootjpa

解决方案


推荐阅读