如何使用Morphia在mongodb中存储Java HashMap〈String,Double>?

pbossiut  于 2023-04-29  发布在  Go
关注(0)|答案(2)|浏览(147)

我有一个用户定义的类CostMatrix,这个类包含两个属性,两个属性的数据类型都是HashMap。我使用Morphia与mongodb通信,因此我的实体类如下所示

@Entity(value = "CostMatrix",noClassnameStored = false)
    public class CostMatrix {
        @Id
        private String id;

        private HashMap<String,Double> distances;

        private HashMap<String,Double> durations;
        public CostMatrix(){}

        public CostMatrix(String id, HashMap<String,Double>distances, HashMap<String,Double>durations) {
            this.id = id;
            this.distances = distances;
            this.durations = durations;
}

我无法将对象正确地存储到数据库对象存储任何方式,但当我检索它只是返回id和类名任何想法将不胜感激。

v8wbuo2f

v8wbuo2f1#

只需为类成员添加getter即可。它与Map无关,它处理Map就像处理对象一样(键是对象属性,值是值)。

pftdvrlh

pftdvrlh2#

如果你不想在你的集合中有任何类/包的名字,只要把noClassnameStored标志设置为true。

@Entity(value = "CostMatrix",noClassnameStored =**true**)

至于保存部分,你是否在你的Map中填充了一些值?Map器将忽略空值和空列表。

相关问题