具有两列JoinColumn的JPA实体

时间:2010-07-22 08:25:04

标签: hibernate database-design jpa

我有这个方案......我有三个4个实体{orderItem,供应商,供应商,价格},它们的相关性如下:

OrderItem 1->* suppliers (some one item can have many supplier prices)

Suppliers 1->1 supplier

Suppliers 1->1 itemPrices

及其属性

OrderItem {orderId, partId, quantity, suppliers}

Suppliers {orderId, partId, Supplier}

我的问题出现了......

将供应商实体嵌入OrderItem实体的最佳方法是什么,请忘记供应商与供应商和itemprice之间的关系,这已经是使用连接列完成的。

会像

那样
@JoinTable(name = "Suppliers", joinColumns = { @JoinColumn(name = "orderid", referencedColumnName = "orderid") }, inverseJoinColumns = { @JoinColumn(name = "partid", referencedColumnName = "partid") })

会起作用吗?

或:

@OneToMany(mappedBy="orderid, partid")
private List<Suppliers> suppliers;

例如..

1 个答案:

答案 0 :(得分:0)

不会将Suppliers类嵌入OrderItem,因为我将使用orderid和partid作为关系。因此,使用这些键我将使用新方法调用该列表搜索orderid和partid ...