Гладкая кодогенерация и типы, зависящие от пути
Я успешно сгенерировал несколько сопоставлений в гладком коде. Затем я хотел бы иметь возможность сериализовать / десериализовать эти объекты в JSON.
Начало дао выглядит так;
@Singleton
class SomeDao @Inject()(protected val dbConfigProvider: DatabaseConfigProvider)(implicit executionContext: ExecutionContext) extends Tables {
private val dbConfig = dbConfigProvider.get[JdbcProfile]
import dbConfig.profile.api._
lazy val db = dbConfig.db
override val profile = Tables.profile
def allHistory: Future[Seq[ObservedHistoryRow]] =
db.run(ObservedHistory.sortBy(_.date).result)
Я получаю эти ошибки в контроллере
found: models.gen.Tables.ObservedHistoryRow
required: Controller.this.dao.ObservedHistoryRow
this.dao
является SomeDao
введен в контроллер. Что меня смущает, так это то, что дао каким-то образом нужен свой собственный тип, а не использование класса изTables
объект, который создается автоматически.
Если я буду следовать определениям классов в, это всегда возвращает меня к Tables.ObservedHistoryRow
.
Мой google-fu застрял на зависимых от пути типах. Однако я действительно не знаю, почему они зависят от типа. Кто-нибудь может объяснить, что здесь происходит? Есть идеи обходного пути?