我是一个新的Slick用户,我对" *"有问题。表的方法。我无法做到对。这里的代码: 包装模型
import slick.lifted.{ProvenShape, ForeignKeyQuery}
import slick.driver.PostgresDriver.api._
import scala.concurrent.ExecutionContext.Implicits.global
case class Coordonnee (id:Option[Long],
email:String,email_publique:Boolean,email_publique_assoc:Boolean,
rue:String,rue_publique:Boolean,rue_publique_assoc:Boolean,
codepostal:String,codepostal_publique:Boolean,codepostal_publique_assoc:Boolean,
ville:String,ville_publique:Boolean,ville_publique_assoc:Boolean,
phone:String,phone_publique:Boolean,phone_publique_assoc:Boolean,
phonemaison:String,phonemaison_publique:Boolean,phonemaison_publique_assoc:Boolean
)
class Coordonnees(tag:Tag) extends extends Table[Coordonnee](tag, "COORDONNEES"){
def id = column[Long]("COORDONNEES_ID", O.AutoInc, O.PrimaryKey)
def email = column[String]("EMAIL")
def email_publique = column[Boolean]("EMAIL_PUBLIQUE")
def email_publique_assoc = column[Boolean]("EMAIL_PUBLIQUE_ASSOC")
def rue = column[String]("RUE")
def rue_publique = column[Boolean]("RUE_PUBLIQUE")
def rue_publique_assoc = column[Boolean]("RUE_PUBLIQUE_ASSOC")
def codepostal = column[String]("CODEPOSTAL")
def codepostal_publique = column[Boolean]("CODEPOSTAL_PUBLIQUE")
def codepostal_publique_assoc = column[Boolean]("CODEPOSTAL_PUBLIQUE_ASSOC")
def ville = column[String]("VILLE")
def ville_publique = column[Boolean]("VILLE_PUBLIQUE")
def ville_publique_assoc = column[Boolean]("VILLE_PUBLIQUE_ASSOC")
def phone = column[String]("PHONE")
def phone_publique = column[Boolean]("PHONE_PUBLIQUE")
def phone_publique_assoc = column[Boolean]("PHONE_PUBLIQUE_ASSOC")
def phonemaison = column[String]("PHONEMAISON")
def phonemaison_publique = column[Boolean]("PHONEMAISON_PUBLIQUE")
def phonemaison_publique_assoc = column[Boolean]("PHONEMAISON_PUBLIQUE_ASSOC")
def * : ProvenShape[(Long,
String,Boolean,Boolean,
String, Boolean,Boolean,
String,Boolean,Boolean,
String,Boolean,Boolean,
String,Boolean,Boolean,
String,Boolean,Boolean)]=
(id,
email, email_publique, email_publique_assoc,
rue,rue_publique,rue_publique_assoc,
codepostal,codepostal_publique, codepostal_publique_assoc,
ville,ville_publique,ville_publique_assoc,
phone,phone_publique,phone_publique_assoc,
phonemaison,phonemaison_publique,phonemaison_publique_assoc
) <> (Coordonnee.tupled, Coordonnee.unapply)
}
Idea IDE中的错误是:
错误:播放2编译器: 所需级别:slick.lifted.FlatShapeLevel 源类型:(slick.lifted.Rep [Long],slick.lifted.Rep [String],slick.lifted.Rep [Boolean],slick.lifted.Rep [Boolean],slick.lifted.Rep [String],slick .lifted.Rep [Boolean],slick.lifted.Rep [Boolean],slick.lifted.Rep [String],slick.lifted.Rep [Boolean],slick.lifted.Rep [Boolean],slick.lifted.Rep [ String],slick.lifted.Rep [Boolean],slick.lifted.Rep [Boolean],slick.lifted.Rep [String],slick.lifted.Rep [Boolean],slick.lifted.Rep [Boolean],slick。 lifted.Rep [String],slick.lifted.Rep [Boolean],slick.lifted.Rep [Boolean]) 解包类型:( Option [Long],String,Boolean,Boolean,String,Boolean,Boolean,String,Boolean,Boolean,String,Boolean,Boolean,String,Boolean,Boolean,String,Boolean,Boolean)
我正在使用Slick v3.1.1。如果我删除了
&LT;&GT; (Coordonnee.tupled,Coordonnee.unapply)
它有效,但我需要它。
首先编辑:修改&#34;扩展表[...&#34;正如pamu所建议的
答案 0 :(得分:2)
而不是Table[(....)]
使用Table[Coordonnee]
而不是这段代码
class Coordonnees(tag:Tag) extends Table[(Long,
String,Boolean,Boolean,
String, Boolean,Boolean,
String,Boolean,Boolean,
String,Boolean,Boolean,
String,Boolean,Boolean,
String,Boolean,Boolean
)](tag, "COORDONNEES") { //.... }
使用此代码
class Coordonnees(tag:Tag) extends Table[Coordonnee] { //... }
完整的编译代码
import slick.lifted.{ProvenShape, ForeignKeyQuery}
import slick.driver.PostgresDriver.api._
import scala.concurrent.ExecutionContext.Implicits.global
case class Coordonnee(id: Option[Long],
email: String, email_publique: Boolean, email_publique_assoc: Boolean,
rue: String, rue_publique: Boolean, rue_publique_assoc: Boolean,
codepostal: String, codepostal_publique: Boolean, codepostal_publique_assoc: Boolean,
ville: String, ville_publique: Boolean, ville_publique_assoc: Boolean,
phone: String, phone_publique: Boolean, phone_publique_assoc: Boolean,
phonemaison: String, phonemaison_publique: Boolean, phonemaison_publique_assoc: Boolean
)
class Coordonnees(tag: Tag) extends Table[Coordonnee](tag, "COORDONNEES") {
def id = column[Long]("COORDONNEES_ID", O.AutoInc, O.PrimaryKey)
def email = column[String]("EMAIL")
def email_publique = column[Boolean]("EMAIL_PUBLIQUE")
def email_publique_assoc = column[Boolean]("EMAIL_PUBLIQUE_ASSOC")
def rue = column[String]("RUE")
def rue_publique = column[Boolean]("RUE_PUBLIQUE")
def rue_publique_assoc = column[Boolean]("RUE_PUBLIQUE_ASSOC")
def codepostal = column[String]("CODEPOSTAL")
def codepostal_publique = column[Boolean]("CODEPOSTAL_PUBLIQUE")
def codepostal_publique_assoc = column[Boolean]("CODEPOSTAL_PUBLIQUE_ASSOC")
def ville = column[String]("VILLE")
def ville_publique = column[Boolean]("VILLE_PUBLIQUE")
def ville_publique_assoc = column[Boolean]("VILLE_PUBLIQUE_ASSOC")
def phone = column[String]("PHONE")
def phone_publique = column[Boolean]("PHONE_PUBLIQUE")
def phone_publique_assoc = column[Boolean]("PHONE_PUBLIQUE_ASSOC")
def phonemaison = column[String]("PHONEMAISON")
def phonemaison_publique = column[Boolean]("PHONEMAISON_PUBLIQUE")
def phonemaison_publique_assoc = column[Boolean]("PHONEMAISON_PUBLIQUE_ASSOC")
def *
= (id.?,
email, email_publique, email_publique_assoc,
rue, rue_publique, rue_publique_assoc,
codepostal, codepostal_publique, codepostal_publique_assoc,
ville, ville_publique, ville_publique_assoc,
phone, phone_publique, phone_publique_assoc,
phonemaison, phonemaison_publique, phonemaison_publique_assoc
) <> (Coordonnee.tupled, Coordonnee.unapply)
}
注意*
方法id
替换为id.?