java - 在 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.
提前致谢!
解决方案
推荐阅读
- php - json解码合并后
- ckan - docker compose ckan 容器退出并出现错误
- javascript - 当我单击以角度打开弹出窗口的按钮时,它会在我要打开弹出窗口的组件的末尾添加一些额外的空间?
- windows - HttpSendRequest 失败并出现错误 12152,但 InternetOpenUrl 没有
- python - 保存和加载由 gensim 相似性模型制作的多个分片
- ruby - Ruby gem 的单个可执行二进制文件
- java - 如何以编程方式在后台运行应用程序?
- spring - 试图模拟 restClient 外部 API,但它正在调用 java 中的实际 API
- server-side - 如何使用价格验证请求正文
- c - 如何使用 C 将 Windows PC 的 MAC 地址分配给字符串变量?