spring数据mongodb\u id映射首选项

spring数据mongodb\u id映射首选项,mongodb,spring-data-mongodb,Mongodb,Spring Data Mongodb,我在java应用程序中使用SpringDataMongoDB框架将应用程序数据持久化到mongodb中。在我的java模型类中,我有两个字段 1) 带有@Id注释的字段对象。 2) 字段id 关于映射到保存的mongodb文档中的_id键,对于多个映射,哪一个会得到首选项,还是我会得到错误。我使用的是spring数据mongo 1.6.1。我知道我可以对此进行测试,但我没有本地环境设置。答案在文档中 MongoDB要求所有文档都有一个“\u id”字段。如果 您没有提供驱动程序将使用 产生的价值

我在java应用程序中使用SpringDataMongoDB框架将应用程序数据持久化到mongodb中。在我的java模型类中,我有两个字段

1) 带有@Id注释的字段对象。 2) 字段id


关于映射到保存的mongodb文档中的_id键,对于多个映射,哪一个会得到首选项,还是我会得到错误。我使用的是spring数据mongo 1.6.1。我知道我可以对此进行测试,但我没有本地环境设置。

答案在文档中

MongoDB要求所有文档都有一个“\u id”字段。如果 您没有提供驱动程序将使用 产生的价值。使用MongoMappingConverter时,有 控制Java类属性映射方式的某些规则 到这个“\u id”字段

以下概述了将映射到“\u id”的属性 文档字段:

用@Id注释的属性或字段 (org.springframework.data.annotation.Id)将映射到“\u Id” 场

将映射没有注释但命名id的属性或字段 转到“\u id”字段


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

您可以使用@Field(“Id”)禁用将Id字段映射到_Id

,因此我的一个pojo中有一个字段Id(没有@Id注释)。。。我该怎么办,因为那个春天不会认为它是“…”i、 是否有任何“NotId”注释(我希望在pojo中的id字段上有此注释)?