2013-08-15 5 views
0

복합 기본 키를 사용하여 다음 코드를 실행하고 싶습니다.복합 키가있는 Astyanax getKey

Column<String> result = keyspace.prepareQuery(CF_COUNTER1) 
    .getKey(rowKey) 
    .getColumn("Column1") 
    .execute().getResult(); 
Long counterValue = result.getLongValue(); 

리서치는 키를 나타내는 문자열 (복합 기본 키가 아닌 경우)을 표시 할 수 있습니다. The documentation은 유형이 K이라고 말합니다. 아아아, 나는 자바에 대한 경험이별로 없으며, 그것이 무엇을 의미하는지 전혀 모릅니다. 많은 것들이 상속받는 기본 유형일까요? 그렇다면 실제로 복합 키를 처리하기 위해 getKey(K)이 필요하다는 것을 아는 것에 더 가깝습니다.

답변

2

데이터 모델의 열에 맞는 클래스를 작성하기 만하면됩니다. 그런 다음 돌연변이 나 질의를하면서 Astyanax에게이 수업을 제공 할 수 있습니다. 예를 들어

,이

CREATE TABLE fishblogs (
     userid varchar, 
     when timestamp, 
     fishtype varchar, 
     blog varchar, 
     image blob, 
     PRIMARY KEY (userid, when, fishtype) 
    ); 

같은 데이터 모델이 있다면이 같은 클래스를 만들 것이다 :

public class FishBlog { 
     @Component(ordinal = 0) 
     public long when; 
     @Component(ordinal = 1) 
     public String fishtype; 
     @Component(ordinal = 2) 
     public String field; 

     public FishBlog() { 
     } 
    } 

fishtype이 복합 열 키를 형성하고 FishBlog 클래스로 표시됩니다. Userid는 행/파티션 키이고 간단한 "문자열"유형일 수 있습니다.

this blog explaining in great detail 복합 키가있는 데이터를 삽입하는 방법 (이 예제를 작성한 곳)을 살펴보십시오.

희망이 있습니다.