Slick DSL을 사용하면 두 가지 방법으로 테이블에 선택적 필드를 만들 수 있습니다.Slick의 선택적 필드 설명
case class User(id: Option[Long] = None, fname: String, lname: String)
당신은 다음 중 한 가지 방법으로 테이블 매핑을 만들 수 있습니다 :이 경우 클래스의 경우
는object Users extends Table[User]("USERS") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def fname = column[String]("FNAME")
def lname = column[String]("LNAME")
def * = id.? ~ fname ~ lname <> (User, User.unapply _)
}
및
object Users extends Table[User]("USERS") {
def id = column[Option[Long]]("id", O.PrimaryKey, O.AutoInc)
def fname = column[String]("FNAME")
def lname = column[String]("LNAME")
def * = id ~ fname ~ lname <> (User, User.unapply _)
}
}
는 차이 무엇입니까 두? 하나는 구도가이고 다른 하나가 새 방법이거나 다른 용도로 사용됩니까?
ID를 더 일관성있게 만들기 때문에 ID 정의의 일부로 ID를 선택 사항으로 정의하는 두 번째 선택을 선호합니다.