错误: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 继承类的情况下迅速采用协议?

Oracle分区表删除分区引发错误ORA-01502: 索引或这类索引的分区处于不可用状态

java检查服务器用户名密码错误

指向基类错误成员函数的指针[关闭]

向自定义正则表达式添加动态错误消息

Java学习--异常处理及其应用类