在尝试使用Spring-Data MongoDB将对象保存到mongo数据库时,我遇到了这个异常。
Ambiguous field mapping detected! Both <child class field> and <parent class field> map to the same field name <field name>! Disambiguate using @DocumentField annotation!
我在子类中隐藏了一个字段,这导致了这个问题。但这对于我隐藏在超类中声明的字段至关重要。我无法在任何地方找到 @DocumentField 注释。我该怎么办?还有其他解决方案吗?
答案 0 :(得分:0)
我相信它在异常中是错误的。您需要使用@Field
,并为参数指定其他名称:
public class Parent {
private String myField;
}
@Document(collection = "children")
public class Child extends Parent {
@Field("childField")
private String myField;
}
答案 1 :(得分:0)
对于那些因为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();
}
}