2016-12-23 2 views
0

У меня есть столбец базы данных со списком < < карты текста, текст > > типа в Кассандре, которую я пытаюсь читать с ListColumn[Map[String,String]] в моем CassandraTable классе.Scala/Phantom ListColumn [Карта [String, String]]

я получаю 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, но вместо этого, что не может преобразовать карту на < текст, текст > в строку для toJson/fromJson переопределяет работать.

Возможно ли это преобразование с помощью Phantom и если да, то есть какая-либо документация или пример, показывающий это?

Большого спасибо,

Simon

ответ

0

Это невозможно в Кассандре сам, это не фантом на стороне клиента ограничения. Обычным способом решения этой проблемы является использование пользовательских типов, которые изначально поддерживаются в phantom-pro.

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

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

Это всего лишь пример гнездования.

Смежные вопросы