Как определить универсальный тип в Scala?

В Slick 2 мы можем отобразить таблицы следующим образом:

case class Cooler(id: Option[Int], minTemp: Option[D,ouble], maxTemp: Option[Double])

/**
 * Define table "cooler".
 */
class Coolers(tag: Tag) extends Table[Cooler](tag, "cooler") {
  def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
  def minTemp = column[Double]("min_temp", O.Nullable)
  def maxTemp = column[Double]("max_temp", O.Nullable)

  def * = (id.?, minTemp.?, maxTemp.?) <> (Cooler.tupled, Cooler.unapply _)
}

object Coolers {
  val tableQuery = TableQuery[Coolers]
}

поскольку у меня много таблиц, я хочу определить для них общие методы, напримерfind, delete, update поэтому я должен определить эти методы в суперклассе, откуда расширять мои объекты (object Coolers extends TableUtils[Coolers, Cooler]). Чтобы определить эти методы, мне нужноtableQuery выйти из моего объекта в этом суперклассе, поэтому я попробовал это так:

abstract class TableUtils[T <: Table[A] , A] {

val tableQuery = TableQuery[T]  

}

но я получаю ошибку наtableQuery определение:

class type required but T found

Кто-нибудь знает, что я делаю не так?

Ответы на вопрос(2)

Ваш ответ на вопрос