1

我有两个实体 Order 和 Items。在 Order 实体中,id 是 OrderId、UserId 的复合主键,但在 Items 中,外键只是 Order Id。

如何使用订单 ID 获取商品列表

public class Order {
   @EmbeddedId
   private CompositePrimaryKey pk;

   @OneToMany
   @JoinColumn(name="ORDER_ID")
   private List<Items> itemsLst;
}

public Class Items {
   @Id
   @Column(name="ORDER_ID")
   private Integer orderId;
}

上面的代码不起作用。我知道桌子设计不好,但是现在很难改变桌子的设计,改变会影响很多地方。所以保持当前的设计我可以做任何事情。

我尝试使用 mappedBy,如上所述,在任何一种情况下我都会出错。

非常感谢任何帮助。

4

1 回答 1

0

如果您在 Order 和 Item 之间有 OneToMany,那么 ORDER_ID 不能是 Item 的主键,因为它不是唯一的。也许还有其他问题,但这是一个显而易见的问题,我可以在没有看到错误的情况下发现它。

于 2013-10-09T08:26:59.040 回答