You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Firestore映射Java对象时courseID字段返回null问题排查

问题原因

Firestore的Java SDK遵循JavaBean命名规范进行对象映射:

  • 你的LessonGroup类私有字段命名为courseId(小驼峰格式,第二个单词首字母大写、后续字母小写)
  • 但对应的getter方法却写为getCourseID()(ID全大写)

这种命名不匹配会导致Firestore无法识别该getter与courseId字段的关联,反序列化时无法将文档中的有效值赋值给对象属性,最终读取时courseId返回null。

解决方案

修改LessonGroup类的getter方法名,使其严格符合JavaBean规范:

// 替换原有的getCourseID方法
public String getCourseId() {
    Log.d("Is Null", String.valueOf(courseId==null));
    return this.courseId;
}

如果后续需要添加setter方法,也要保持命名一致:setCourseId(String courseId)。

补充说明:如果Firestore文档中的字段名本身是courseID(全大写ID),则需要同步将Java类的私有字段改为courseID,并保持getter/setter命名为getCourseID()/setCourseID(),确保两端命名完全匹配。


内容的提问来源于stack exchange,提问作者Camille Ma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 05:43:22