2013-02-21 3 views
1

두 개의 주문 및 항목이 있습니다. Order 엔티티에서 ID는 OrderId, UserId의 복합 기본 키이지만 항목에서는 외래 키가 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

답변

0

Order와 Item 사이에 OneToMany가있는 경우 ORDER_ID는 고유하지 않으므로 Item의 기본 키가 될 수 없습니다. 다른 문제가있을 수 있지만이 오류를 보지 않고도 알아낼 수있는 것은 분명합니다.

관련 문제