我无法映射具有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;
@JsonAutoDetect
@JsonSerialize
@UDT(keyspace = "members_data", name = "Testlinks")
public class TestLinks {
@Field(name = "test_link")
private String test_link;
@Field(name = "link_title")
private String link_title;
映射器用法。
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
cassandra-driver-mapping
为3.1.0
。
Mapper没有抛出任何错误,现在甚至将数据映射到模型。有人能告诉我这是什么问题吗?