[英]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類型都不對應
我可能在Scala
和Cassandra
使用的數據類型之間搞混了,但是我不知道如何糾正這一點。 例如。 我看到的一個問題是我不知道如何將String
轉換為字段i
使用的blob
。
我必須使用來自scala.collection.JavaConversions._
函數。 工作代碼段是
.value("image",seqAsJavaList(model.image))
.value("tags",setAsJavaSet(model.tags))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.