2014-09-17 3 views
0

Play 2.2.JPA 고유 외래 키 목록

public class ShoppingCart { 
    @ManyToMany 
    public List<Article> articles; 
} 

public class Article { 
    public int id; 
} 

(포스트 그레스에서)의 관계는 다음과 같습니다 매핑 JPA에 의해 생성 된 테이블 :

cart_id   | article_id 
------------------+-------------- 
       61 |   3 
       61 |   6 

및 EBean, 나는 다른 개체의 목록을 가진 개체를 유지하고 싶습니다 따라서이 예에서 상품 3과 상품 6의 조합은 장바구니 61에 한 번만 존재할 수 있습니다. 예 : 제 3 조 및 제 7 조는 여전히 이며, 일단 삽입되면 한 번만 존재할 수 있습니다.

모든 ShoppingCart은 고유해야합니다. 즉, Article의 목록은 중복 될 수 없으므로 기본적으로 고유 한 제약 조건이지만 여러 개의 외래 키에 적용됩니다. 어떻게해야합니까?

답변

1

정말 원하는 것을 이해하기 어렵습니다.

하나의 쇼핑 카드 목록 링크를 많은 기사에 연결하려면 이미 해결책이 있어야합니다. 본 상태에서

기사 3, 6 많은 쇼핑 카트에있을 수 있습니다 당신이 원하는 것은 경우

cart_id   | article_id 
------------------+-------------- 
       61 |   3 
       61 |   6 
       62 |   3 
       62 |   6 

하나의 쇼핑 카트 링크는 문서의 집합에있는 경우, 다른 쇼핑 카트 수 동일한 기사 집합을 가지고 있지만 SQL과 열 제한 조건으로 만 수행 할 수는 없습니다. 한 세트의 기사가 장바구니에 이미 연결되어 있는지 테스트하려면 java/scala 코드를 만들어야합니다.

+0

나는 후자를 달성하려고 노력하고있다. 이것이 가능하지 않음을 분명히 해 주셔서 감사합니다. – doque