2017-02-16 2 views
1

나는 Kundera를 Cassandra에 연결하려고합니다. 제 경우에는 파티션 키 {A, B} 및 클러스터 키 {C}가있는 엔티티 X가 있습니다.파티션 키와 클러스터 키가있는 Kundera 지속성 엔티티 정의

각 A 및 B 조합 (기본 키)마다 C 값이 여러 개 있습니다.

그런 경우 어떻게 엔티티를 정의해야합니까?

@Embeddable 
public class PrimayKey implements Serializable{ 

@Column(name = "A") 
    private String a; 

    @Column(name = "B") 
    private String b; 
} 




@Entity 
@Table(name = "X") 
public class X{ 


    @EmbeddedId 
    private PrimayKey key; 

    @Column(name = "C") 
    private String c; 

    @Column(name = "D") 
    private String d; 
} 

여기서 기본 키로 찾기를 수행하면 각 A와 B 조합에 대해 C와 D의 값이 여러 개 있습니다. 그런 경우 어떻게 엔티티를 정의해야합니까?

답변

0

파티션 키에 대한 포함 가능을 생성 한 다음 기본 키의 필드로 사용할 수 있습니다. Kundera는 엔티티를 자동으로 읽고 파티션 키 이외의 필드를 클러스터링 키로 간주합니다.

카산드라 해당하는 기본 키 : ((A, B), C)

엔티티 :

@Embeddable 
public class PartitionKey { 

@Column(name = "A") 
private String a; 

@Column(name = "B") 
private String b; 

} 

@Embeddable 
public class PrimayKey { 

private PartitionKey key; 

@Column(name = "C") 
private String c; 

} 

더 많은 정보를 원하시면이 sample entity을 참조하십시오.