모델 사용자를 업데이트하기 위해 DAO를 쓰고 있습니다. Slick이 기본 키 열을 업데이트하지 못하게하는 방법은 무엇입니까?
case class User(id: Option[String] = None, username: String, password: String)
object Users extends Table[User]("user") {
// .... some column defines
def * = id.? ~ username ~ password <>(User, User.unapply _)
def byId(id: String) = Query(Users).filter(_.id === id)
// user.id will be None since id is passed as parameter.
def update(id: String, user: User)(implicit session: Session) = {
byId(id).update(user)
getById(id)
}
나는이 오류가 발생했습니다 :
[error] JdbcSQLException: NULL not allowed for column "id"; SQL statement:
[error] update "user" set "id" = ?, "username" = ?, "password" = ? where "user".
"id" = 'RBq0kJAs' [23502-168] (DbException.java:169)
그것은 슬릭 보인다는 아무 소용이 없습니다 기본 열 "ID"를 업데이트하는 SQL 문을 생성하고 여기에 코드입니다. 생성 된 업데이트 쿼리에서 id 열을 어떻게 제거 할 수 있습니까? Slick Documentation 따르면
감사합니다. – spacedragon