0

プレイ!Squeryl ORM を使用した Scala で。何が問題を引き起こしているのかわかりませんが、新しいモデルを Play! 非常に奇妙なエラーでコンパイルされなくなりました。

value update is not a member of models.OauthCred

this()コンパイラは、特に Squeryl が必要とするゼロ引数のコンストラクタを指します。

コードは以下のとおりです。

case class OauthCred(
  val id: Long,

  @Column("vendor")
  val vendor: String,

  @Column("user_id")
  val userId: Long,

  @Column("remote_id")
  val remoteId: Option[String],

  @Column("scope")
  var scope: String,

  @Column("access_code")
  var accessCode: Option[String],

  @Column("unauthorized_token")
  var unauthorizedToken: Option[String],

  @Column("authorized_token")
  var authorizedToken: Option[String],

  @Column("refresh_token")
  var refreshToken: Option[String],

  @Column("is_active")
  var isActive: Boolean,

  @Column("is_revoked")
  var isRevoked: Boolean,

  @Column("created")
  val created: Timestamp,

  @Column("modified")
  var modified: Timestamp

) extends KeyedEntity[Long] {

  this() = this(0L, "", 0L, Some(""), "", Some(""), Some(""), Some(""), Some(""), false, false, new Timestamp(), new Timestamp())

}

object OauthCred {

  def get(id:Long) = DB.oauthcred.lookup(id)

  def save(o:OauthCred) = DB.oauthcred.update(o)

  def getByRemoteId(remoteId:String) = { from(DB.oauthcred)( o => where(o.remoteId === Some(remoteId)) select(o) ).headOption }
}

何が原因でしょうか?

4

1 に答える 1

0

問題を解決しました。実際には、思ったよりもずっと簡単でした:

this()実際に必要だったdef this()

これが将来のユーザーに役立つことを願っています。

于 2012-08-14T02:47:23.207 に答える