2013-02-21 103 views
1

我有两个Order和Items实体。在Order实体中,id是OrderId,UserId的复合主键,但在Items中,外键仅为Order Id。JPA @Onetomany和@manytoone通过复合主键的一部分获取

如何使用订单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和上面提到的任何情况下我收到错误。

任何帮助,高度赞赏。

+0

专家....请帮助 – changeme 2013-02-28 04:39:52

回答

0

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