2016-01-18 5 views
0

J'ai ce tableauCQL: colonne donnée est pas de type UDT

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> 
      ); 

Ici, j'insérer des valeurs:

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

Pas en java si je le fais

row.getUDTValue("values") il est dit values n'est pas le type UDT

Qu'est-ce qui me manque?

Répondre

1

Vous devriez faire:

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

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