2

永続層にCassandraとAstyanaxの使用を開始し、レンガの壁にぶつかりました。

DefaultEntityManagerは、ColumnFamilyを使用することを許可していません

Astyanaxによってスローされたエラーメッセージ: "タイプDefaultEntityManager.BuilderのメソッドwithColumnFamily(ColumnFamily)は、引数(ColumnFamily "には適用されません。

TimeUUIDTypesをキーとして使用して、一意で時間順に並べられるようにします。

他にどのようにUUIDをキーとして使用できますか?

4

1 に答える 1

1

AstyanaxがColumnFamilyを許可していない理由をようやく理解しました。私の間違いは、(Object、UUID)ではなくパラメーター(Object、String)を使用してEntityManagerを定義していたことでした。

ColumnFamily<UUID, String> columnFamily = new ColumnFamily< UUID, String>(
    "Merchant",  // Column Family Name    
    StringSerializer.get(), //  Key Serializer
    StringSerializer.get());    //  Column Serializer

EntityManager<Merchant, UUID > entityPersister = new DefaultEntityManager.Builder<Merchant, UUID >()
    .withEntityType(Merchant.class)
    .withKeyspace(keyspace)
    .withColumnFamily(columnFamily)
    .build();
于 2013-01-23T15:11:42.687 に答える