Вставка данных Spring-Cassandra UDT

Может ли кто-нибудь помочь мне узнать, как вставить данные Cassandra UDT, используя класс Spring POJO?

Я создал один класс POJO для сопоставления таблицы Cassandra и создал еще один класс для Cassandra UDT, но когда я вставил основной класс POJO, который отображает таблицу Cassandra, он не распознал другой класс POJO (сопоставьте Cassandra UDT). Я также написал аннотацию для каждого класса и для каждого объекта класса.

Вот мой один класс POJO: -

package com.bdbizviz.smb.model.entity;

import org.springframework.cassandra.core.PrimaryKeyType;
import org.springframework.data.cassandra.mapping.PrimaryKeyColumn;
import org.springframework.data.cassandra.mapping.Table;

import com.bdbizviz.smb.cassandra.udt.CoverPhoto;
import com.bdbizviz.smb.cassandra.udt.Location;
import com.bdbizviz.smb.cassandra.udt.MailingAddress;
import com.bdbizviz.smb.cassandra.udt.Reference;
import com.bdbizviz.smb.cassandra.udt.RestaurantServices;
import com.bdbizviz.smb.cassandra.udt.RestaurantSpecial;
import com.bdbizviz.smb.cassandra.udt.VoipInfo;
import com.datastax.driver.mapping.annotations.Frozen;


@Table("source")
public class Sources {


Integer likes;
Integer followers;
Integer rating;
String last_processedtime;
String filter_str;
String filter_type;
String category;

@PrimaryKeyColumn(ordinal=0,type=PrimaryKeyType.PARTITIONED)
String admin;

@PrimaryKeyColumn(ordinal=1,type=PrimaryKeyType.CLUSTERED)
String name;

@PrimaryKeyColumn(ordinal=2,type=PrimaryKeyType.CLUSTERED)
String source;

@PrimaryKeyColumn(ordinal=3,type=PrimaryKeyType.CLUSTERED)
Integer id;

@PrimaryKeyColumn(ordinal=4,type=PrimaryKeyType.CLUSTERED)
String type;

Integer delete_flag;
Integer evaluated;

@Frozen
Reference fb_reference_id_name ;

@Frozen
MailingAddress fb_mailingaddress;

@Frozen
CoverPhoto fb_coverphoto ;

@Frozen
VoipInfo fb_voipinfo;

@Frozen
RestaurantServices fb_restaurantservice;

@Frozen
RestaurantSpecial fb_restaurantspecialties;

@Frozen
Location fb_location;

/* Setter and Getter */
}

Другой класс POJO: -

package com.bdbizviz.smb.cassandra.udt;

import org.springframework.data.annotation.Persistent;
import com.datastax.driver.mapping.annotations.Field;
import com.datastax.driver.mapping.annotations.UDT;

@UDT(name = "reference" ,keyspace="smb")
public class Reference {

@Field(name="id")
String id ;

@Field(name="name")
String name;

/* Setter and Getter */
}

person mahendra singh    schedule 21.05.2015    source источник
comment
Возможный дубликат Есть ли Spring-data-Cassandra 1.3 .2.RELEASE поддерживает аннотации UDT?   -  person denzal    schedule 02.02.2017


Ответы (2)


Драйвер Spring Cassandra даже не поддерживает функцию UDT. Для этой функции вы должны использовать собственный драйвер Cassandra.

Вот зависимость maven для Cassandra Driver

<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-dse</artifactId>
    <version>2.1.6</version>
</dependency>
person Kaushal    schedule 29.05.2015
comment
как мне использовать его с spring-data-cassandra? Я пытался с @UDT, но потерпел неудачу. - person behinddwalls; 19.10.2015
comment
Можете ли вы поделиться, какую зависимость вы используете для cassandra? - person Kaushal; 20.10.2015
comment
последняя банка данных Spring cassandra поддерживает UDT. см. ниже дополнительные пояснения. - person denzal; 02.02.2017
comment
Дубликат [ссылки] stackoverflow.com/questions/34753799/ - person denzal; 02.02.2017

    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-mapping</artifactId>
        <version>2.1.9</version>
    </dependency>

нужно

person Aleksey Borodkin    schedule 25.02.2016