Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra UDT映射问题_Cassandra - Fatal编程技术网

Cassandra UDT映射问题

Cassandra UDT映射问题,cassandra,Cassandra,我无法映射具有UDT类型的数据 该表定义如下所示 CREATE TABLE IF NOT EXISTS members_data.Test( priority int, name text, test_links list<frozen<TestLinks>>, PRIMARY KEY(name) ); @JsonAutoDetect @JsonSerialize @Table(keyspace="members_data", caseSensit

我无法映射具有UDT类型的数据

该表定义如下所示

CREATE TABLE IF NOT EXISTS members_data.Test(
  priority   int,
  name text,
  test_links  list<frozen<TestLinks>>,
  PRIMARY KEY(name)
);
@JsonAutoDetect
@JsonSerialize
@Table(keyspace="members_data", caseSensitiveKeyspace=false, caseSensitiveTable=false, name="Test")
public class Test{

@Column(name="name", caseSensitive=false)
private String name;

@Column(name="priority", caseSensitive=false)
private int priority;

@Frozen
@Column(name="test_links", caseSensitive=false)
private List<TestLinks> test_links;
映射器的用法

MappingManager manager = new MappingManager(sessionManager.getSession());
manager.udtCodec(TestLinks.class);
Mapper<Test> mapper = manager.mapper(Test.class);
Result<Test> result = mapper.map(testResultSet);
test = result.one();  //test object would be null here
MappingManager=newmappingmanager(sessionManager.getSession());
udtCodec(TestLinks.class);
Mapper Mapper=manager.Mapper(Test.class);
Result=mapper.map(testResultSet);
测试=结果1()//这里的测试对象将为null
cassandra驱动程序映射
3.1.0


Mapper并没有抛出任何错误,现在甚至将数据映射到模型。有人能告诉我是什么问题吗?

1)到底是什么错误?您可以显示堆栈跟踪或消息吗?2) 您没有显示TestLinks的CQL定义3)您正在使用带有外部ResultSet(testResultSet变量)的map()方法,但是您没有显示此变量的来源。4) 您确定testResultSet包含所有必需的字段吗?谢谢Adutra。事实证明,在映射之前,我调用了
testResultSet.one()
,这使得resultset为null,映射没有发生。1)到底是什么错误?您可以显示堆栈跟踪或消息吗?2) 您没有显示TestLinks的CQL定义3)您正在使用带有外部ResultSet(testResultSet变量)的map()方法,但是您没有显示此变量的来源。4) 您确定testResultSet包含所有必需的字段吗?谢谢Adutra。事实证明,在映射之前,我调用了
testResultSet.one()
,这使得resultset为null,映射没有发生。
MappingManager manager = new MappingManager(sessionManager.getSession());
manager.udtCodec(TestLinks.class);
Mapper<Test> mapper = manager.mapper(Test.class);
Result<Test> result = mapper.map(testResultSet);
test = result.one();  //test object would be null here