の下に取得するだけのマッピングでは、あなたのタイプにOption
を追加私のコード
package com.codemobile.box.modules.groups.repo.sql
import com.codemobile.box.core.services.DatabaseService
import com.codemobile.box.modules.groups.model.GroupEntity
trait GroupEntityTable {
protected val databaseService: DatabaseService
import databaseService.driver.api._
class Groups(tag: Tag) extends Table[GroupEntity](tag, "groups"){
val id = column[Int]("grp_id",O.PrimaryKey,O.AutoInc)
val name = column[String]("grp_name")
val permissions = column[String]("grp_permissions")
def * = (id, name, permissions) <> (GroupEntity.tupled, GroupEntity.unapply)
}
protected val groupsTableQuery = TableQuery[Groups]
}
package com.codemobile.box.modules.groups.model
case class GroupEntity(id: Option[Int] = None, name: String, permissions : Option[String] = None)
次のとおりです。
class Groups(tag: Tag) extends Table[GroupEntity](tag, "groups"){
val id = column[Option[Int]]("grp_id",O.PrimaryKey,O.AutoInc)
val name = column[String]("grp_name")
val permissions = column[Option[String]]("grp_permissions")
def * = (id, name, permissions) <> (GroupEntity.tupled, GroupEntity.unapply)
}
(私はid
と01のためのcolumn
をどのように変化するかを気づきます)
別の方法としては、これを行うことがあります。
class Groups(tag: Tag) extends Table[GroupEntity](tag, "groups"){
val id = column[Int]("grp_id",O.PrimaryKey,O.AutoInc)
val name = column[String]("grp_name")
val permissions = column[String]("grp_permissions")
def * = (id.?, name, permissions.?) <> (GroupEntity.tupled, GroupEntity.unapply)
}
(私は*
投影を変更し、コードが一致しないid
とpermissions
)
エラーが発生した後
?
を追加する方法に注目してください。 – pedrofurla