首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用@key的Scala Salat反序列化错误

使用@key的Scala Salat反序列化错误
EN

Stack Overflow用户
提问于 2015-06-29 11:42:39
回答 1查看 129关注 0票数 0

我有一个案例课,看起来是这样的:

代码语言:javascript
复制
import com.novus.salat.annotations.raw.Key
import org.bson.types.ObjectId

case class Users(
                  _id: ObjectId,
                  email: String,
                  password: String,
                  firstName: String,
                  lastName: String,
                  company: Option[String],
                  position: Option[String],
                  enabled: Boolean)

还有一个简单的SalatDAO:

代码语言:javascript
复制
import com.novus.salat.dao.SalatDAO
import org.bson.types.ObjectId
import com.novus.salat.global._

object UsersDAO extends SalatDAO[Users, ObjectId](
  collection = MongoFactory.getCollection("usersCollection"))

所以现在我想把"_id“改为"id”。我认为Salat @Key注释确实是为了这个目的。所以我写:

代码语言:javascript
复制
...
@Key("_id") id: ObjectId,
...

当我尝试UsersDAO.find(MongoDBObject.empty)时,我得到了一个异常

代码语言:javascript
复制
java.lang.NoSuchMethodException: com...Users$.apply$default$1()

有趣的是,如果我做同样的事情,但是对于"id: String“的另一个类,则会得到这个异常。

代码语言:javascript
复制
java.lang.Exception: class com...AnotherClass requires value for 'id'

有人能把阳光洒在上面吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-29 14:15:25

你得修好你的进口品。使用

代码语言:javascript
复制
import com.novus.salat.annotations._

若要正确地将@Key注释指向getter,请执行以下操作。

请参阅https://github.com/salat/salat/wiki/Annotations

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31114808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档