我有一个自定义类型,如下所示:
CREATE TYPE IF NOT EXISTS typetest (
id text,
name text,
parents list<text>
);
一个表格,它将此自定义类型与另一个文本列表一起使用:
CREATE TABLE IF NOT EXISTS randomTable (
id text,
categories frozen<list<word>>,
kitProducts list<text>,
PRIMARY KEY (id)
) WITH compaction = {'unchecked_tombstone_compaction': 'true', 'tombstone_threshold': '0.1', 'class': 'LeveledCompactionStrategy'}
AND compression = {'chunk_length_kb': '64', 'sstable_compression': 'DeflateCompressor'};
在我插入一个值后,使用kitProducts = null和parents = null:
insert into randomTable (id, categories) values ('id1',[{id: 'hey', name: 'how', parents: null }]);
当我尝试使用Java库(MappingManager - http://docs.datastax.com/en/drivers/java/3.1/com/datastax/driver/mapping/MappingManager.html)读取此数据时,类别父属性是一个空列表, kitProducts 属性一片空白。我在某处读到CQL驱动程序将具有null值的列表转换为性能porpouses的空列表,但在这种情况下只转换为一个案例而我找不到原因。 是不是因为它是自定义类型? 我不介意如果返回一个空列表或null,我只需要它在所有情况下都是相同的。
感谢任何帮助,
问候。
PS:我正在使用datastax.driver.core版本3.1