【发布时间】:2021-12-18 12:21:13
【问题描述】:
case class Fruit(
apple: String,
banana: String
)
trait AppleComponent { self: HasDatabaseConfig[JdbcProfile] =>
import profile.api._
class Fruits(tag: Tag) extends Table[Fruit](tag, "fruits") {
def apple = column[String]("apple")
def banana = column[String]("banana")
// what is this line of code used for?
override def * = (apple,banana) <> (Fruit.tupled, Fruit.unapply)
def applePK = primaryKey("apple", apple)
}
protected lazy val Apples = TableQuery[Fruits]
}
我是Scala Slick 的新手,所以我想知道override def * = (apple,banana) <> (Fruit.tupled, Fruit.unapply) 是什么意思?我真的找不到任何关于它的文件。
另外,为什么我们需要一个特质?
【问题讨论】: