Android 开发 Room 问题:SQL error or missing database (no such table: User)

java 复制代码
@Dao
public interface UserDAO {

    ...

    @Query("SELECT * FROM User")
    List<User> queryAll();
}
  • 在 Android 开发中,使用 Room 时,启动项目时,上述代码出现如下错误信息

    错误: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: User)
    List<User> queryAll();
    ^

问题原因
  • 使用 Room 时, @Database 注解需要明确声明要映射到数据库表的数据库实体类
处理策略
  • 确保 @Database 注解包含所有数据库实体类
java 复制代码
// 原来是这样

@Database(entities = {Staff.class}, version = 1, exportSchema = false)
java 复制代码
// 修改成这样

@Database(entities = {User.class, Staff.class}, version = 1, exportSchema = false)
相关推荐
王夏奇7 分钟前
python中的__all__ 具体用法
java·前端·python
卤炖阑尾炎8 分钟前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql
明湖起风了13 分钟前
mqtt消费堆积
java·jvm·windows
Free Tester31 分钟前
如何判断 LeakCanary 报告的严重程度
java·jvm·算法
清心歌1 小时前
CopyOnWriteArrayList 实现原理
java·开发语言
daad7771 小时前
wifi_note
运维·服务器·数据库
Java成神之路-1 小时前
通俗易懂理解 Spring MVC 拦截器:概念、流程与简单实现(Spring系列16)
java·spring·mvc
zhanghongbin011 小时前
AI 采集器:Claude Code、OpenAI、LiteLLM 监控
java·前端·人工智能
计算机毕设vx_bysj68691 小时前
【免费领源码】77196基于java的手机银行app管理系统的设计与实现 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
java·mysql·智能手机·课程设计
忘梓.1 小时前
墨色规则与血色节点:C++红黑树设计与实现探秘
java·开发语言·c++