Cómo utilizar Cassandra tipo de mapa en Java

Krishna:

He creado la tabla en el espacio de claves como

CREATE TABLE IF NOT EXISTS myks.users (user_id text, device_ids map<text,text>);

I'm trying to insert the below data using `spring-boot-starter-data-cassandra` library in Spring boot

{
    "userId" : "krishna",
    "deviceIds": {
        "DeviceId_0": "TYNLSANID7",
        "DeviceId_1": "julasjasd8",
        "DeviceId_2": "iu89074hasd",
        "DeviceId_3": "Lenovo hjyas|asdqnkasd"
    }
}

y abajo es la clase de entidad

@Column("user_id")
@CassandraType(type = DataType.Name.TEXT)
private String userId;

@Column("device_ids")
@CassandraType(type = DataType.Name.MAP)
private Map<String, String> deviceIds= new HashMap<>();

Estoy recibiendo el siguiente excepción al insertar los datos en la tabla

org.springframework.dao.InvalidDataAccessApiUsageException: Expected [2] type arguments for property ['deviceIds'] of type ['interface java.util.Map'] in entity [com.kri.entity.Users]; actual was [0]
niver:

Como se especifica en la documentación que debe proporcionar la typeArgumentspropiedad en la definición de anotación cuando se está trabajando con Collection, y en concreto para el Maptipo de datos que debe proporcionar dos DataType Namepropiedades, una para la llave y una para el valor resipectively:

@CassandraType(type = DataType.Name.MAP,typeArguments = { DataType.Name.TEXT,DataType.Name.TEXT} 

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=335956&siteId=1
Recomendado
Clasificación