如何将cassandra行转换为我的java类?

如何将cassandra行转换为我的java类?,cassandra,typeconverter,Cassandra,Typeconverter,} 那么,如何将行中的数据转换为java类呢?我已经阅读了spring data cassandra API中的convert类,但对我来说使用起来很复杂。谁能帮上忙?IMHO,如果您想将Cassandra的行映射到java类,您应该尝试使用对象数据存储映射器来完成这些工作 如果您试图自己完成这项工作,那么您需要自己处理java cassandra数据类型映射、验证等,这是一项非常繁忙的工作 有几个(昆德拉、HibernateOGM等)开源对象数据存储映射器可用,您可以使用它们。我建议你试着和卡

}


那么,如何将行中的数据转换为java类呢?我已经阅读了spring data cassandra API中的convert类,但对我来说使用起来很复杂。谁能帮上忙?

IMHO,如果您想将Cassandra的行映射到java类,您应该尝试使用对象数据存储映射器来完成这些工作

如果您试图自己完成这项工作,那么您需要自己处理java cassandra数据类型映射、验证等,这是一项非常繁忙的工作


有几个(昆德拉、HibernateOGM等)开源对象数据存储映射器可用,您可以使用它们。我建议你试着和卡桑德拉核实一下。

是的,我读过昆德拉的维基。Persistence在spring数据cassandra中运行良好。但是我没有找到如何将数据从db转换为java类的示例,有什么帮助吗?@marsyoung一旦数据被持久化,您就可以进行查询,结果会自动映射到您的java实体。您可以参考,如果需要更多帮助,请告诉我:)@karthik manchala我已经使用spring-data-cassandra解决了这个问题。代码很简单:`ResultSet rs=CassandraTools.getInstance().execute(cql);CassandraConverter CassandraConverter=新映射CassandraConverter();CassandraConverterRowCallback callback=新的CassandraConverterRowCallback(cassandraConverter,UserTokenCassandra.class);迭代器迭代器=rs.Iterator();while(iterator.hasNext()){Row Row=iterator.next();utcList.add(callback.doWith(Row));}`
 Here is [a Link](http://stackoverflow.com/questions/32448987/how-to-retrieve-a-very-big-cassandra-table-and-delete-some-unuse-data-from-it#comment52844466_32464409) of my question before.
 After I get  the cassandra data row by row in my program, I'm confused by the convert between cassandra row to java class. In java class the table of cassandra is convert to a ResultSet class,when I iterator it and get the row data,it returns a NPE. In fact,I can see the Object (or the data) while  debuging the program. Here is My Iterator Code:


        ResultSet rs=CassandraTools.getInstance().execute(cql);
        Iterator<Row> iterator = rs.iterator();
        while (iterator.hasNext()) {
            Row row = iterator.next();
            row.getString()  ---->return NPE
public class CassandraTools {

private static CassandraTools instance;

private CassandraTools() {
}

public static synchronized CassandraTools getInstance() {
    if (instance == null) {
        instance = new CassandraTools();
        instance.init();
    }
    return instance;
}

Cluster cluster;
Session session;

public void init() {
    if (cluster == null) {
        cluster = new Cluster.Builder().addContactPoint("10.16.34.96")
                .build();
        if (session == null) {
            session = cluster.connect("uc_passport");
        }
    }
}

public ResultSet execute(String cql) {
    ResultSet rs = session.execute(cql);
    // rs.forEach(n -> {
    // System.out.println(n);
    // });
    return rs;

}