2017-03-15 11 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) 
    } 
} 
関連する問題