在 Spring Boot 应用程序中使用 Hibernate 添加外键关系到现有表

问题描述 投票:0回答:1

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

ItemEntity.java

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

 //item_id

    //item_name

}

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

@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.

提前致谢!

java database hibernate spring-boot jpa
1个回答
0
投票

引用应该是实体的名称,而不是数据库中表的原始名称。所以这应该是:

@ManyToOne
@JoinColumn(name="cart_id", nullable=false)
private CartEntity cart;
© www.soinside.com 2019 - 2024. All rights reserved.