2016-09-25 2 views
0

저는 새로운 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) 
} 

아이디어의 IDE의 오류 : 나는 슬릭 V3.1.1을 사용하고

Error:Play 2 Compiler: Required level: slick.lifted.FlatShapeLevel Source type: (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]) Unpacked type: (Option[Long], String, Boolean, Boolean, String, Boolean, Boolean, String, Boolean, Boolean, String, Boolean, Boolean, String, Boolean, Boolean, String, Boolean, Boolean)

.

<> (Coordonnee.tupled, Coordonnee.unapply)

작동하지만 필요합니다.

첫 번째 편집 : pamu

답변

1

대신 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] { //... } 

컴파일 된 전체 코드 * 방법 id에서

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) 
} 

통지

+0

id.?이 팁을 주셔서 감사로 대체. 그러나 이것은 내 문제를 해결하지 못합니다. – f7h

+0

@ f7h ... 대답을 수정했습니다. 지금 확인하십시오. – pamu

+0

'sbt compile'이 먼저 작동하는지 확인하십시오. Intellij는 궁극적 인 대답이 아닙니다. – Reactormonk

관련 문제