ara*_*gon 3 resultset cassandra hector
我有用户名和密码作为用userName键入的ColumnFamily的列.
使用比较器= UTF8Type创建列族TestUserInfo,其中column_metadata = [{column_name:username,validation_class:UTF8Type},{column_name:password,validation_class:UTF8Type}];
当密钥存在于db中时,以下代码可以正常工作.抛出me.prettyprint.hector.api.exceptions.HInvalidRequestException:当密钥不存在时,InvalidRequestException(why:Key可能不为空).
SliceQuery<String, String, String> sliceQuery = HFactory.createSliceQuery(cassandraDBObject.getKeyspace(), StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
sliceQuery.setColumnFamily("TestUserInfo");
sliceQuery.setKey(userName);
sliceQuery.setColumnNames("username", "password");
String userNameFromDB = null;
String passwordFromDB = null;
try {
[Error here -->] QueryResult<ColumnSlice<String, String>> queryResult = sliceQuery.execute();
ColumnSlice<String, String> resultCol = queryResult.get();
System.out.println(resultCol);
userNameFromDB = resultCol.getColumnByName("username").getValue();
passwordFromDB = resultCol.getColumnByName("password").getValue();
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我哪里出错了吗?或者这是预期的行为?如果是,那我该如何检查空结果?假设我正在检查db的登录信息.然后,如果userName(Key)不在db中,那么我需要得到一个空结果吗?
谢谢!
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |