CQL:给定列不是UDT类型

时间:2016-01-18 05:04:20

标签: cassandra cql cql3

我有这张桌子

create table constants_values
              (
               key_name_1 text,
               key_name_2 text,
               values map<text, frozen<nav_tag_values>>,
               PRIMARY KEY(key_name_1, key_name_2)
              );

UDT:

 CREATE TYPE ks_mobApp.nav_tag_values (
               values set<text>
              );

我在这里插入值:

INSERT INTO constants_values(key_name_1,key_name_2,values) VALUES('Sell', 'Electronics', {'Mobile': {value : {'Laptop'}});

如果我这样做,则不在java中

row.getUDTValue("values")它说values不是UDT类型

我缺少什么?

1 个答案:

答案 0 :(得分:1)

你应该这样做:

Map<String,UDTValue> myMap = row.getMap("values", String.class, UDTValue.class);

UDTValue myUdt = myMap.get("Mobile");