Я не уверен, почему 2 ребенка создаются / обновляются при использовании setValueAsync. Может быть, кто-то может помочь мне понять, что я делаю неправильно.
Изначально я настраивал вручную под узлом Employee некоторые дочерние элементы (имя и пароль). Сейчас я пытаюсь создать процесс, чтобы иметь возможность обновлять их из приложения в Java. По неизвестной причине создаются / обновляются 2 набора детей (appPassword, name, password, technicianName). даже если я удаляю какие-либо из наборов, они добавляются автоматически, когда я выполняю setValueAsync.
вот мой класс:
package com.mycompany.spring.model;
public class TechShort {
public boolean active;
public String name;
public String password;
public TechShort(boolean active, String name, String password) {
this.active;
this.name = name;
this.password = password;
}
public boolean getActive() {return this.active;}
public void setActive(boolean active) {this.active = active;}
public String getTechnicianName() {return this.name;}
public void setTechnicianName(String name) {this.name = name;}
public String getAppPassword() {return this.password;}
public void setAppPassword(String password) {this.password = password;}
}
и вот как я загружаю базу данных firebase:
Map<String, TechShort> techs;
techs = new HashMap<>();
techs.put((String.valueOf(i+1)),
new TechShort(Boolean.valueOf(model.getValueAt(i,6).toString()),
name1,password1));
FirebaseDatabase firedb = FirebaseDatabase.getInstance();
DatabaseReference db = firedb.getReference().child("Employees");
db.setValueAsync(techs);
так что все работает и дочерние элементы создаются, но они дублируются, и я ожидаю, что под узлом будет только 3 дочерних элемента (
пример
активный: правда
пароль: 1123223
имя: джордж
вместо этого у меня есть:
активный: правда
appPassword: 1123223
имя: джордж
пароль: 1123223
техникИмя: джордж
Если я изменю одно из значений (например, 1123223 на другое, обновятся appPassword и пароль. Надеюсь, кто-нибудь может помочь / помочь мне понять, как решить эту проблему.