代码贴在下面:
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)
}
我知道第一个括号(tag: Tag)
表示Suppliers
的参数列表,第二部分Table[(String, String, Int, String)]
表示super class with generic
。
但(tag, "suppliers")
是什么意思?它是超类Table
还是已定义的类Supplier
的装饰器。有没有关于此的文件?
答案 0 :(得分:5)
它只调用Table[(String, String, Int, String)]
的构造函数。
表的构造函数采用Tag和String。扩展表(标记,"供应商)只需将所需的值连接到构造函数中(可选择添加类型归属)。这是标准的Scala机制。
答案 1 :(得分:0)
它是一个等效于下面的构造函数:
class Suppliers(tag: Tag) extends Table[(String, String, Int, String)]{
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)
def this(tag:Tag) {
super(tag, "suppliers")
}
}