0

我在 Cassandra 中有一个带有 list<map<text, text>> 类型的数据库列,我想ListColumn[Map[String,String]]CassandraTable课堂上阅读它。

我得到 2 个编译错误:

Error:(18, 25) could not find implicit value for evidence parameter of type com.websudos.phantom.builder.primitives.Primitive[Map[String,String]]
  object claims extends ListColumn[Map[String,String]](this)

Error:(18, 25) not enough arguments for constructor ListColumn: (implicit evidence$1: com.websudos.phantom.builder.primitives.Primitive[Map[String,String]])com.websudos.phantom.column.ListColumn[ConcreteUsers,User,Map[String,String]].
Unspecified value parameter evidence$1.
  object claims extends ListColumn[Map[String,String]](this)

我尝试过使用,JsonListColumn但它无法将 map<text, text> 转换为 String 以使 toJson/fromJson 覆盖工作。

幻影是否可以进行这种转换,如果可以,是否有任何文档或示例显示这一点?

非常感谢,

西蒙

4

1 回答 1

0

这在 Cassandra 本身是不可能的,它不是 Phantom 客户端的限制。解决这个问题的常用方法是使用用户定义的类型,这些类型在 phantom-pro 中原生支持。

@Udt case class Address(
  postcode: String,
  address: String
)

@Udt case class Record(
  name: String
  items: List[Map[String, Address]]
)

这只是嵌套的一个例子。

于 2016-12-27T21:44:35.307 回答