我将 Play 2.3 scala 与 play-jongo 一起使用:
"uk.co.panaxiom" %% "play-jongo" % "0.7.1-jongo1.0"
我有scala案例类:
import org.jongo.marshall.jackson.oid.Id
case class User(@Id id: String, name: String)
当我使用 Jongo 保存一些用户时PlayJongo.getCollection("users").save(User("uuid","user name"))
我的数据库中有以下内容:
{
"_id" : { "$oid" : "5612a4effa93746a877c0d5c"} ,
"id" : "uuid",
"name": "user name"
}
当需要的结果是字符串值时_id
,它映射到id
scala 类中的属性:
{
"_id" : "uuid",
"name": "user name"
}
当我将我的 scala 案例类转换为 Java POJO(下面的简单示例)时,一切正常。在这种情况下,我得到所需的结果。
public class User {
@Id
public String id;
public String name;
}
我究竟做错了什么?如何让 jackson/jongo@Id
正确理解该注释?
在其他 SO 答案中,建议使用@Id
注释 - 我使用 - 但没有成功。