spring-data - 如何在 spring 数据 mongoDB 中使用 @DocumentField 消除歧义

标签 spring-data spring-data-mongodb

在尝试使用 Spring-Data MongoDB 将 Object 保存到 mongo DB 时,我遇到了这个异常。

Ambiguous field mapping detected! Both <child class field> and <parent class field> map to the same field name <field name>! Disambiguate using @DocumentField annotation!

我在子类中隐藏了一个字段,这导致了问题。但这对我来说隐藏在父类(super class)中声明的字段是必不可少的。我找不到 @DocumentField 任何地方的注释。我怎样才能在这里继续?还有其他解决方案吗?

最佳答案

对于那些因 Ambiguous field mapping detected! 而来到这里的人(像我一样)与 OP 不太相同的错误,请考虑您的子类甚至可能根本不需要字段,@sparm 提供的答案可以更改为:

public class Parent {
    private String myField;
    public getMyField() {
        return myField;
    }
}

@Document(collection = "children")
public class Child extends Parent {

    public getMyField() {
       super.getMyField();
    }

}

关于spring-data - 如何在 spring 数据 mongoDB 中使用 @DocumentField 消除歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424830/

相关文章:

具有长类型_id的java mongodb findOne

spring - 如何在 Spring Data 中使用投影覆盖 findById

java - 在 hibernate 中从 createSqlQuery 获取 List<HashMap> ,无需 Pojo 或 Scalar

java - Solr数据配置中如何从多表中获取数据

java - 带有@Document的mongodb Multi-Tenancy 咒语

java - MongoDB 无法使用复杂对象作为键值 Java

spring-boot - 部署到独立 Tomcat 时 Spring Boot 应用程序无法正常工作

java - Spring Data Mongo : How to return nested object by its field?

java - 实现 Spring Data 存储库的自定义方法并通过 REST 公开它们

java - 表 'DBNAME.hibernate_sequence' 不存在