SQL到JPA连接两个表与复合键

时间:2018-01-10 16:49:49

标签: java mysql jpa

如何实现两个表的简单典型情况:例如,我可以在MySQL中使用连接表OrderProduct来建议Product和Order。有人可以在JPA中为类OrderProduct建议(编写代码),其中包含JPA的所有必要元素(如Composite Key等等)和表OrderProduct的SQL示例中的字段。谢谢。

CREATE TABLE Product
(
  id   INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50)
);

CREATE TABLE Order
(
  id          INT AUTO_INCREMENT PRIMARY KEY,
  customer_id INT,
  datum       DATE,
  FOREIGN KEY (customer_id) REFERENCES Customer (customer_id)
);

CREATE TABLE OrderProduct
(
  order_id   INT,
  product_id INT,
  quantity   INT,
  PRIMARY KEY (order_id, product_id),
  FOREIGN KEY (order_id) REFERENCES Orders (id),
  FOREIGN KEY (product_id) REFERENCES Product (id)
);

1 个答案:

答案 0 :(得分:0)

我后来发现,在JPA映射中,应该只有两个实体对应表Product和Order with manyToMany关系,并且不需要第三个具有复合键的实体。所以,我的问题不正确。