[英]GenericDao on Datastax java driver 4
v4 java 驱动程序是否可以使用以下 GenericDao 方法? 如何?
public static <T> List<?> retrieve(Class<?> clazz, BoundStatement boundStatement) throws Exception {
List<?> tList = new ArrayList<>();
Result<?> result = null;
MappingManager manager = null;
Session session = CassandraUtil.getSession();
ResultSet resultSet = session.execute(boundStatement);
int totRows = resultSet.getAvailableWithoutFetching();
if (totRows > 0) {
manager = new MappingManager(session);
Mapper<?> m = manager.mapper(clazz);
result = (Result<?>) m.map(resultSet);
tList = result.all();
}
return tList;
}
这种方法通过在整个应用程序中使用 GenericDao 提供了巨大的生产力。
我正在评估迁移到 javadriver V4 的更改,但我碰壁了,因为似乎不可能对 java 驱动程序 V4 做同样的事情。
谢谢
IPVP
您可以在 DAO 上使用@GetEntity
注释将Row
object 转换为您的 POJO。 您还可以将ResultSet
转换为 POJO、POJO 的可迭代等 - 取决于 function 的返回值。 以下是文档中的示例:
@Dao
public interface ProductDao {
@GetEntity
Product asProduct(Row row);
@GetEntity
PagingIterable<Product> asProducts(ResultSet resultSet);
// ...
}
有关更多详细信息,请参阅文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.