SpringData Mongodb @Field有时会工作,有时候不行

时间:2014-09-22 10:17:00

标签: java spring mongodb spring-data

我有以下类(我省略了第一个属性的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。

0 个答案:

没有答案