0

Jackson をマッパーとして使用して、Scala で次のクラスを定義しています。

package models

import play.api.Play.current
import org.codehaus.jackson.annotate.JsonProperty
import net.vz.mongodb.jackson.ObjectId
import play.modules.mongodb.jackson.MongoDB
import reflect.BeanProperty
import scala.collection.JavaConversions._
import net.vz.mongodb.jackson.Id
import org.codehaus.jackson.annotate.JsonIgnoreProperties

case class Team( 
  @BeanProperty @JsonProperty("teamName") var teamName: String,
  @BeanProperty @JsonProperty("logo") var logo: String,
  @BeanProperty @JsonProperty("location") var location: String,
  @BeanProperty @JsonProperty("details") var details: String,
  @BeanProperty @JsonProperty("formOfSport") var formOfSport: String) 

object Team {
  private lazy val db = MongoDB.collection("teams", classOf[Team], classOf[String])

  def save(team: Team) { db.save(team) }


  def getAll(): Iterable[Team] = {
    val teams: Iterable[Team] = db.find()    
    return teams
  }

  def findOneByTeamName(teamName: String): Team = {
    val team: Team = db.find().is("teamName", teamName).first
    return team
  }

}

mongodb への挿入は問題なく機能_idし、ドキュメントごとに自動的に挿入されます。

しかし今、たとえばfindOneByTeamName. これにより、常に とUnrecognizedPropertyException for _id.でインスタンスを作成しTeam.applyますTeam.unapply。独自の ObjectId を使用しても、これは機能せず、別の方法で処理さ_ididます。

インスタンスを取得する方法や正しく逆シリアル化する方法を誰か助けてもらえますか? 前もって感謝します

4

1 に答える 1