将FireStore集合映射到Java POJO
问题描述:
我正在使用FireStore数据库,我想知道如何将这些集合从“Hospital/DcbtizNr0ADNNnd0evlN”转换为Java对象?我的意思是,我如何搜索(有1个查询)特定医院并将其所有文档和集合映射到java对象?将FireStore集合映射到Java POJO
Pacientes/Fichas/Profissionais遵循几乎相同的结构:
答
您可以将QuerySnapshot
容易映射到对象的列表,假设您的应用包含一个Hospital
POJO类匹配数据:
db.collection("Hospital")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
// Convert the whole snapshot to a POJO list
List<Hospital> objects = task.getResult().toObjects(Hospital.class);
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
The Hosp ITAL类看起来是这样的:
public class Hospital {
// These can either be public properties, or private properties
// with standard-named getters and setters like getAvenida() and
// setAvenida()
public String avenida;
public String bairro;
public String cep;
public String cidade;
public String estado;
public String name;
public String numero;
// Empty constructor required
Hospital() {}
}
我忘了是更具体一点。我如何将一个集合转换成Pojo?例如,我可以用什么样的java结构来映射Pacientes? –
那么医院的收藏呢?我如何映射它们? –
那些不能一次全部映射。 Cloud Firestore中的查询很浅,必须单独检索子集合中的数据。 –