Java 将此字段添加到此实体的正确方法是什么?
我有这个实体Java 将此字段添加到此实体的正确方法是什么?,java,oop,mongodb,entity,Java,Oop,Mongodb,Entity,我有这个实体 public class location{ private String name; private final Set<String> subLocations = new HashSet<String>(); public String getName(){ return name; } // corresponding setter public void addSubLocations(Stri
public class location{
private String name;
private final Set<String> subLocations = new HashSet<String>();
public String getName(){
return name;
}
// corresponding setter
public void addSubLocations(String subLocation){
subLocations.add(subLocation);
}
public Set<String> getSubLocations(){
return subLocations;
}
}
公共类位置{
私有字符串名称;
私有最终集子位置=新HashSet();
公共字符串getName(){
返回名称;
}
//对应设定器
public void addsublocation(字符串子位置){
子定位。添加(子定位);
}
公共集getSubLocations(){
返回子定位;
}
}
此类将被填充,然后存储到Mongo DB集合中
我们需要添加一个名为“organization\u group”的新字段。从逻辑上讲,这属于一个子位置,所以我想把它添加到那里
我粘贴的是当前的类。将“组”子对象添加到子位置的最佳方法是什么?是否要创建一个子位置类
只是需要一些信息
谢谢 在我回答你的问题之前,位置和子位置有什么区别?对于单个字段名,对我来说,两个类定义看起来是相同的 你知道吗?如果位置类需要表示树型数据,则应该考虑使用复合模式。
现在回答您的问题,我相信您的思路是正确的,在新的子位置类中添加一个名为organizationGroup的字段是大多数情况下的正确方法。位置和子位置之间的区别本质上是“州”/“市”分别用于此数据。在这种情况下,我认为Location表示一个树状数据,我认为您应该创建一个超级“Location”类,以及两个不同的子类,一个特定于State,另一个特定于City(以organization_group作为字段),同时维护一个复合模式。在不知道这些字段的任何含义的情况下,不可能就如何对它们进行分组给出明智的意见。