Cassandra UDT映射问题
我无法映射具有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
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