1

Astyanax クライアントで Cassandra を使用して Spring Web アプリケーションで作業しています。Cassandra クエリから取得した結果データを POJO に変換したいのですが、これをサポートしているライブラリまたは Astyanax API がわかりません。
たとえば、Userいくつかの基本的なプロパティ ( ) を持つ列ファミリー (CF) がusername, password, emailあり、その他の関連する追加情報をこの CF に追加できます。次に、次のように、OperationResult> を使用して返されたデータを保持することにより、その CF から 1 つの User 行をフェッチします。

OperationResult<ColumnList<String>> columns = getKeyspace().prepareQuery(getColumnFamily()).getRow(rowKey).execute();  

次にやりたいことは、Userオブジェクトに「列」を設定することです。ここで、2 つの問題があります。これを解決するのを手伝ってくれませんか。

1/ User CF から取得した対応するデータを保持するための User クラスの最適な構造は何ですか? 私の提案は次のとおりです。

public class User {
    String userName, password, email; // Basic properties
    Map<String, Object> additionalInfo;
}  

2/ 一般的な方法を使用して Cassandra データをこの POJO に変換するにはどうすればよいですか (POJO をマップしたすべての CF に適用できるようにするため)。
NoSQL の概念と Cassandra と Astyanax に 2 週間取り組んだばかりなので、質問にばかげたダミーが含まれている場合は申し訳ありません。
手伝ってくれてどうもありがとう。

4

3 に答える 3

0

私はまさにこの目的のために com.netflix.astyanax.mapping.Mapping と com.netflix.astyanax.mapping.MappingCache を使用しています。

于 2013-10-24T14:54:06.027 に答える
0

エンティティに対して CRUD 操作を簡単に実行できる Playorm などのライブラリを使用することをお勧めします。User オブジェクトを作成して POJO を簡単に取得できる例については、 これを参照してください。

User user1 = mgr.find(User.class, email);

電子メールが NoSqlId (Cassandra の主キーまたは行キー) であると仮定します。

于 2013-05-31T10:04:45.020 に答える