spring data mongodb _id映射首选项

时间:2014-12-09 19:36:19

标签: mongodb spring-data-mongodb

我在我的java应用程序中使用spring数据mongodb框架来将我的应用程序数据保存在mongodb中。在我的java模型类中,我有两个字段。

1)一个字段在其上显示@Id注释。 2)字段ID

关于映射到保存的mongodb文档中的_id键,哪一个会得到偏好,或者我会得到多个映射的错误。我正在使用spring data mongo 1.6.1。我知道我可以测试一下,但我没有本地环境设置。

2 个答案:

答案 0 :(得分:10)

答案在文档http://docs.spring.io/spring-data/data-mongo/docs/1.7.0.M1/reference/html/

  

MongoDB要求你有一个' _id'所有文件的字段。如果   你没有提供一个驱动程序会给一个带有的ObjectId   生成的价值。当使用MongoMappingConverter时   某些规则控制如何映射Java类的属性   这个' _id'字段。

     

以下概述了将哪些属性映射到' _id'   文件字段:

     

使用@Id注释的属性或字段   (org.springframework.data.annotation.Id)将映射到' _id'   字段。

     

将映射没有注释但名为id的属性或字段   到' _id'字段。

正如您所见,@ Id(objId)优先。

答案 1 :(得分:0)

您可以使用@Field("id") 禁用将 id 字段映射到 _id