簡體   English   中英

如何在Cassandra中添加Scala列表或Set?

[英]How to add a Scala List or Set in Cassandra?

我的Cassandra的表架構是

    id uuid PRIMARY KEY,
    a text,
    d text,
    h list<text>,
    i  list<blob>,
    p  text,
    t set<text>,
    title text

我想從以下case class添加數據

Data(Some(b7a8bc92-0191-4d76-9c11-df8301e20911),d,List(d),List(1),d,Set(d),d,d)

為了添加數據,我編寫了以下QueryBuilder代碼

def insertValues(tableName:String, model:Data):Insert = {
    QueryBuilder.insertInto(tableName).value("id",model.id.get) 
      .value("a",model.a)
      .value("d",model.d)
      .value("h",model.h) 
      .value("i",model.i)
      .value("p",model.p)
      .value("t",model.t)
      .value("title",model.title)
      .ifNotExists(); 
  }

但是我收到以下錯誤:

Errorcom.datastax.driver.core.exceptions.InvalidTypeException:類型類scala.collection.immutable。$ colon $ colon的值3與任何CQL3類型都不對應

我可能在ScalaCassandra使用的數據類型之間搞混了,但是我不知道如何糾正這一點。 例如。 我看到的一個問題是我不知道如何將String轉換為字段i使用的blob

我必須使用來自scala.collection.JavaConversions._函數。 工作代碼段是

  .value("image",seqAsJavaList(model.image))
  .value("tags",setAsJavaSet(model.tags))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM