Неявный не найден в магазине

Я следовал шаблону из примеров на GitHub. Когда я вызываю store для объекта модели, передавая экземпляр объекта, я получаю ошибку компиляции, указывающую на отсутствие одного из неявных параметров, как показано ниже.

could not find implicit value for parameter sg: com.outworkers.phantom.macros.SingleGeneric.Aux[com.ss.wuhu.settlement.entity.Settlement,Repr,HL,Out] 

Я предполагаю, что упускаю что-то очевидное. Может ли кто-нибудь указать, как привести неявное в сферу?

С уважением, Мирадж

Это фрагмент кода, в котором я храню данные.

import akka.Done
import com.outworkers.phantom.dsl._
import com.outworkers.phantom.connectors.{CassandraConnection, ContactPoints}
import com.ss.wuhu.settlement.entity.Settlement
import com.ss.wuhu.settlement.entity.mapping.{SettlementForCourierModel, SettlementForVendorModel}

object Connector {
    private val hosts = Seq("127.0.0.1") // TODO from environment
    lazy val connector: CassandraConnection = ContactPoints(hosts).keySpace("wuhu_order")
}

class SettlementDatabase(override val connector: CassandraConnection) extends Database[SettlementDatabase](connector) {

    object SettlementForCourierModel extends SettlementForCourierModel with connector.Connector
    object SettlementForVendorModel extends SettlementForVendorModel with connector.Connector

    def truncateAll() = {
        Database.truncate()
    }

    def store(set: Settlement) = {
        for {
            v <- Database.SettlementForVendorModel.store(set)
            d <- Database.SettlementForCourierModel.store(set)
        } yield (Done)
    }

}

object Database extends SettlementDatabase(Connector.connector)

1 ответ

Это известная ошибка с открытой проблемой: https://github.com/outworkers/phantom/issues/774

Я предлагаю либо использовать обходной путь, как описано в ссылке выше, либо мой обходной путь, который создавал мой собственный .store() с помощью .insert(),

пример:

def myStore(person: Person) : Future[ResultSet] =
 insert
   .value(_.name, person.name)
   .value(_.age, person.age)
   .value(_.timeCreate, person.timeCreate)
   .future()
Другие вопросы по тегам