我有一个数据库列,其中包含列表< map< text,text>>输入Cassandra,我试图在我的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
代替,但无法转换地图< text,text>到toJson / fromJson的字符串覆盖工作。
Phantom是否可以进行此转换?如果有,是否有任何文档或示例显示此内容?
非常感谢,
西蒙
答案 0 :(得分:0)
这在Cassandra本身是不可能的,它不是Phantom客户端限制。解决这个问题的常用方法是使用用户定义的类型,这些类型在phantom-pro。
中原生支持@Udt case class Address(
postcode: String,
address: String
)
@Udt case class Record(
name: String
items: List[Map[String, Address]]
)
这只是一个嵌套的例子。