Slick ORM中有一个名为TableQuery的类 . 它的伴随对象有应用方法:

def apply[E <: AbstractTable[_]]: TableQuery[E] =
macro TableQueryMacroImpl.apply[E]

我有类扩展表扩展AbstractTable,所以我可以这样写:

class Users(tag: Tag) extends Table[User](tag, "users") {..some code..}
val query = TableQuery[Users]

我想概括使用数据库,所以我创建了类Dao

class Dao[A, B <: AbstractTable[A]] {
   private val query = TableQuery[B]
}

这里的编译器说:“需要类类型,但发现了B” . 当我将B <:AbstractTable [A]更改为B:ClassTag时,它也不会运行 .

那么我必须使用什么泛型类型将它发送到TableQuery?