错误:slick.model.Table 不采用类型参数
Posted
技术标签:
【中文标题】错误:slick.model.Table 不采用类型参数【英文标题】:error: slick.model.Table does not take type parameters 【发布时间】:2022-01-09 00:18:29 【问题描述】:我正在从 slick-extensions 迁移到 slick 3.2.0
import slick.lifted.ProvenShape, Tag
import slick.model.Table
class Admin(tag : Tag) extends Table[(Long, Long)](tag, "NT_CV_ADMIN_SHORT")
def parentId = column[Long]("PARENT_ID")
def maxAdminShort = column[Long]("MAX_ADMIN_SHORT")
override def * : ProvenShape[(Long, Long)] = (parentId, maxAdminShort)
对于上述表格声明,我收到以下错误 - 错误:slick.model.Table 不接受类型参数
这是我使用的依赖项-
<dependency>
<groupId>com.typesafe.slick</groupId>
<artifactId>slick_2.12</artifactId>
<version>3.2.0</version>
</dependency>
我不明白我错过了什么。我看到了 slick3.2.0 手册 - https://scala-slick.org/doc/3.2.0/gettingstarted.html,这就是我创建表格的方式。 不知道是不是遗漏了什么?
【问题讨论】:
【参考方案1】:你输入了错误的Table
。
Slick 有点令人困惑,因为它希望您从“驱动程序”类中获取大部分导入。您链接的入门指南告诉您添加这些导入:
import slick.jdbc.H2Profile.api._
import scala.concurrent.ExecutionContext.Implicits.global
如果您使用不同的数据库,例如mysql 你会用import slick.jdbc.MySQLProfile.api._
代替。
这里是 api
类型的 scaladocs:https://scala-slick.org/doc/3.2.0/api/index.html#slick.jdbc.JdbcProfile$API - 从该页面可以看到,api
提供了一大堆类型别名和值。您想要的Table
就是其中的那个。
【讨论】:
以上是关于错误:slick.model.Table 不采用类型参数的主要内容,如果未能解决你的问题,请参考以下文章
为啥我们不能在不从 NSObject 继承类的情况下迅速采用协议?