пользовательская сортировка столбца cassandra с использованием phantom dsl

Я хотел бы определить новый столбец/преобразователь для маршалинга класса case в примитивный тип и обратно с использованием фантомного dsl.

в slick 3.1.1 я могу сделать это легко:

  implicit val idTypeMapper = MappedColumnType.base[Id, Long](
    { (v) ⇒ v.value },
    { (s) ⇒ Id(s) }
  )

Это позволяет мне использовать Id в любом месте гладкого запроса, и он будет неявно преобразован туда и обратно.

Я попытался получить свои собственные столбцы и преобразования в фантоме, расширив AbstractColumn (и другие), но безуспешно.

Как мне это сделать в фантомном dsl.


person IUnknown    schedule 15.03.2017    source источник


Ответы (1)


Приносим извинения за поздний ответ, просто используйте Primitive.derive. Подробнее о официальные документы.

import com.outworkers.phantom.dsl._

case class Test(value: String)

object Test {
  implicit val testPrimitive: Primitive[Test] = {
    Primitive.derive[Test, String](_.value)(Test.apply)
  }
}
person flavian    schedule 27.03.2017