如何解决Spring JPA 与来自另一个关系的外键的关系
我正在尝试使用 JPA 在 Springboot 上实现一个小的 db shema,但无法弄清楚如何定义两个实体之间的关系,其中部分外键来自另一个实体。
这是数据库架构:
我有一个 Store
实体,正在销售 Products
。多家商店销售相同的产品(为了简单起见,实体之间存在 ManyToMany 关系,未绘制在架构上)。
对于送货,每个商店都与其选择的供应商签订合同,同一供应商可以为不同的商店工作。另一个实体 supplier
存储每个供应商和产品的运输条件,Store
与 supplier
以 ManyToOne 关系链接..
最后一个实体 Order 表示给定商店中给定产品的订单。所以 Order
与 Store
和 Product
有 ManyToOne
关系。所有这些都在起作用。
当我想让 Order
与 Shipping
实体相关时,它会得到:Order.productId
上有一个外键,而 Order.store.supplierId
上有另一个外键。我需要通过关系 Order->Store
来获取外键的值。如何用 JPA 来完成?
这里是 Order
实体:
public class Order {
@Id
private Integer orderId;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="productId",referencedColumnName="productId")
private Product product;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="productId",referencedColumnName="productId")
private Product product;
@Column(name="quantity")
private Integer quantity;
// What should I put here ???
private Shipping shipping;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。