我有以下类(我省略了第一个属性的getter / setter):
public class Customer {
private String firstname;
private String lastname;
private String nickname;
private String type;
@Field("bag_list")
@DBRef
private ArrayList<Checkout> bagList;
public ArrayList<Checkout> getBagList() {
return bagList;
}
public void setBagList(ArrayList<Checkout> bagList) {
this.bagList = bagList;
}
}
MongoDb中的文档(省略了以前的简单属性):
{
"bag_list" : [
{
"$ref" : "checkout",
"$id" : ObjectId("541fe83bc026bb4901f5f90c")
}
]
}
上面的代码不起作用,如果我调试它,我可以看到内存中的Customer对象有一个空值,即使在数据库中存在数据也存在。
如果我将其更改为:
public class Customer {
private String firstname;
private String lastname;
private String nickname;
private String type;
@Field("bag_list")
@DBRef
private ArrayList<Checkout> bag_list;
public ArrayList<Checkout> getBagList() {
return bag_list;
}
public void setBagList(ArrayList<Checkout> bagList) {
this.bag_list = bagList;
}
}
它正常工作。它似乎被@Field值忽略了。
我正在运行Spring Framework 4.0.6,Spring Data MongoDb 1.6.0和MongoDb驱动程序2.12.1。