2017-03-15 1 views
0

새 클래스/변환기를 정의하여 사례 클래스를 기본 유형으로 마샬링하고 팬텀 DSL을 사용하여 다시 가져오고 싶습니다.phantom dsl을 사용하여 cassandra 열의 사용자 지정 마샬링

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

이 날 매끄러운 쿼리에서 어디서나 Id을 사용할 수 있습니다 그리고 암시 적으로 앞뒤로 변환됩니다 :

매끄러운 3.1.1 내가 쉽게이 작업을 수행 할 수 있습니다.

나는 AbstractColumn (및 기타)을 확장하여 팬텀에서 내 자신의 열과 전환을 유도하려고했지만 운이 없었습니다.

팬텀 DSL에서 어떻게 수행합니까?

답변

0

답장을 보내 주신 사과는 Primitive.derive입니다. official docs에 대한 자세한 내용.

import com.outworkers.phantom.dsl._ 

case class Test(value: String) 

object Test { 
    implicit val testPrimitive: Primitive[Test] = { 
    Primitive.derive[Test, String](_.value)(Test.apply) 
    } 
} 
관련 문제