我正在努力迁移到 slick 2,但我遇到了一个似乎在任何地方都找不到的类。
package learningSlick
import scala.slick.driver.MySQLDriver.simple._
case class Supplier( snum: String, sname: String, status: Int, city: String )
class Suppliers(tag: Option[String]) extends Table[Supplier](tag, "suppliers") {
def snum = column[String]("snum")
def sname = column[String]("sname")
def status = column[Int]("status")
def city = column[String]("city")
def * = snum ~ sname ~ status ~ city <> (Supplier, Supplier.unapply _)
}
以下是教程中的代码:
import scala.slick.driver.PostgresDriver.simple._
class Suppliers(tag: Tag) extends Table[(String, String, Int, String)](tag, "suppliers") {
def snum = column[String]("snum")
def sname = column[String]("sname")
def status = column[Int]("status")
def city = column[String]("city")
def * = (snum, sname, status, city)
}
在 Table 的定义中它说 Tag 是 Option[String] 类型但是在我正在经历的教程中它只使用一种 Tag 类型。我正在寻找这是来自哪个包裹。
最佳答案
检查 Table 的定义,我们可以看到它是 Tag
类型:Table definition不知道你在哪里看到的或者发现它是Option[String]
类型的。
点击 Tag
弹出标签定义:Tag definition
所以为了回答您的问题,它来自 scala.slick.lifted
包。
您实际上不需要创建标签
,因为您使用val suppliers = TableQuery[Suppliers]
结构进行查询,它会处理所有标记
相关的东西。
关于java - Slick 2.0.0-M3 表定义 - 对 tag 属性的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20599438/