Slick3.2.0迁移报错slick.model.Table不接受类型参数求助
问题排查结果
核心错误原因
你错误导入了用于Slick元数据建模的slick.model.Table类,该类本身确实不支持类型参数,和你要用来做表映射的Table不是同一个类。Slick 3.2.0中用于表结构映射定义的Table类归属于slick.lifted包,需要配合对应数据库的JdbcProfile导入使用。
修复步骤
- 修正导入逻辑,删除错误的
import slick.model.Table语句,替换为对应数据库Profile的API导入,以MySQL为例写法如下:
// 可根据你使用的数据库替换为对应的Profile:PostgresProfile/OracleProfile/H2Profile等 import slick.jdbc.MySQLProfile.api._ import slick.lifted.{ProvenShape, Tag}
- 你的原有表结构定义不需要做额外修改,修正导入后就可以正常编译:
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) }
补充说明
官方文档的所有示例都默认开发者已经提前导入了对应JdbcProfile下的全部API,该导入操作会自动引入正确的Table类定义,你之前的问题属于遗漏了这部分前置导入逻辑导致的类引用错误。
内容的提问来源于stack exchange,提问作者noob_learner
相关产品推荐
相关产品推荐

