2014-10-21 3 views
1

이것은 JPA 사용에 관한 내용입니다. 은 가능 I 복합 기본 키를 가지고 있으며 예를 들어 의 집합을 가질 수복합 기본 키에 집합 또는 목록 사용

@Embeddable 
class PrimaryKey implements Serializable { 
    Set<ParentId> parentId; //To include both parents 
    Integer childId; 

// implement hash and equals 
} 
여기

(예, 어머니와 아버지에 대한) 부모의 세트와 자식 ID가 고유하게 아이를 결정할 수 있나요 .

답변

3

나는 그것이 아니라고 생각합니다. 사양은 복합 기본 키에 대해 말한다 :

2.4.1

종속 엔티티 클래스는 부모의 기본 키 또는 해당하는 것 이외에 의 기본 키 속성이있는 경우 부모 는 복합이있는 경우 기본 키의 경우 임베디드 id 또는 id 클래스는 을 사용하여 종속 엔터티의 기본 키를 지정해야합니다. 부모 키 엔티티와 종속 엔티티가 모두 ids를 사용하거나 복합 키가있을 때 합성 기본 키를 나타 내기 위해 id 클래스를 사용하는 것이 필요하지 않습니다 ( ).

그리고 기본 키의 정의는 말한다 :

2.4

간단한 기본 키 또는 복합 기본 키 의 필드 또는 속성이 다음 유형 중 하나 여야합니다 : 모든 Java 기본 유형. 임의 기본 래퍼 유형. java.lang.String; java.util.Date; java.sql.Date; java.math.BigDecimal; java.math.BigInte- ger