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?