我正在尝试使用toObject(myObject.class)将Firebase文档映射到POJO,因为它出现在https://firebase.google.com/docs/firestore/query-data/get-data(在“自定义对象”下)中。

一切正常,除了一件事:
我在数据库中有一个名为“ isCancelled”的布尔值,但是当我将文档映射到对象时,会收到以下消息:


## WARN 20180 --- [nio-8081-exec-4] c.g.cloud.firestore.CustomClassMapper:在类main.modals.ServiceRequest ##上找不到isCancelled的设置器/字段。


我尝试将POJO中的变量名更改为“ cancelled”,并将设置器更改为“ setIsCancelled”(自动创建设置器会产生一个“ setCancelled”,而没有“ is”)。

**完整的SreviceRequest POJO:

package main.modals;

import java.util.Date;

public class ServiceRequest {
private boolean fallDetected;
private boolean isCancelled;
private Date requestStartTime;
private String requestType;
private String requestedByPatientID;
private String status;
private Date updatedAt;

public ServiceRequest() {
    super();
}

public boolean isFallDetected() {
    return fallDetected;
}

public boolean isCancelled() {
    return isCancelled;
}

public Date getRequestStartTime() {
    return requestStartTime;
}

public String getRequestType() {
    return requestType;
}

public String getRequestedByPatientID() {
    return requestedByPatientID;
}

public String getStatus() {
    return status;
}

public Date getUpdatedAt() {
    return updatedAt;
}

public void setFallDetected(boolean fallDetected) {
    this.fallDetected = fallDetected;
}

public void setCancelled(boolean isCancelled) {
    this.isCancelled = isCancelled;
}

public void setRequestStartTime(Date requestStartTime) {
    this.requestStartTime = requestStartTime;
}

public void setRequestType(String requestType) {
    this.requestType = requestType;
}

public void setRequestedByPatientID(String requestedByPatientID) {
    this.requestedByPatientID = requestedByPatientID;
}

public void setStatus(String status) {
    this.status = status;
}

public void setUpdatedAt(Date updatedAt) {
    this.updatedAt = updatedAt;
}


}

最佳答案

由于Andreas的评论,对其进行了修复:
对于非布尔属性,方法名称必须为getXxx和setXxx,例如对于属性名称,方法将是getName和setName。对于布尔值,方法必须为isXxx和setXxx,例如对于完成的属性,方法将是isDone和setDone。 ---属性isCancelled的方法将是isIsCancelled和setIsCancelled。
谢谢!

关于java - 将文档映射到以'is'开头的Java对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56842816/

10-12 07:04