ザンソン/ヴァルチコウに同意します。DataStax Java Driverは未来です。Cassandra を SQL で操作するのは非常に便利です。一方、DataStax Java Driverの単純なラッパーであるCassandraExecutorもお勧めします。CassandraExecutor は、Java Driver と比較して以下の機能を備えています。
- SQL/エンティティを使用した (同期/非同期) 操作 (CRUD) のための一貫性のある/統合された/簡潔な API。
- distinct/merge/sort/groupBy/join/union/unionAll/except/intersect/paginate/filter/count/toJOSN/toXML/toCVS... をサポートする DataSet 。
簡単な CRUD (作成/読み取り/更新/削除) のサンプルを次に示します。
Account account = createAccount();
// create
String sql_insert = NE.insert(ID, GUI, FIRST_NAME, LAST_NAME, LAST_UPDATE_TIME, CREATE_TIME).into(Account.class).sql();
cassandraExecutor.execute(sql_insert, account);
// read
String sql_selectByGUI = NE.select(ID, GUI, FIRST_NAME, LAST_NAME).from(Account._).where(L.eq(ID, L.QME)).sql();
Account dbAccount = cassandraExecutor.queryForEntity(Account.class, sql_selectByGUI, account);
// update
String sql_updateByLastName = NE.update(Account.class).set(FIRST_NAME).where(L.eq(ID, L.QME)).sql();
dbAccount.setFirstName("newFirstName");
cassandraExecutor.execute(sql_updateByLastName, dbAccount);
// delete
String sql_deleteByFirstName = NE.deleteFrom(Account.class).where(L.eq(ID, L.QME)).sql();
cassandraExecutor.execute(sql_deleteByFirstName, dbAccount);
(宣言:私はCassandraExecutorの開発者です)