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)
相关推荐
梦未2 小时前
Spring控制反转与依赖注入
java·后端·spring
喜欢流萤吖~2 小时前
Lambda 表达式
java
Dragon online2 小时前
数据分析师成长之路--从SQL恐惧到数据掌控者的蜕变
数据库·sql
ZouZou老师2 小时前
C++设计模式之适配器模式:以家具生产为例
java·设计模式·适配器模式
曼巴UE52 小时前
UE5 C++ 动态多播
java·开发语言
VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue音乐管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
一招定胜负2 小时前
navicat连接数据库&mysql常见语句及操作
数据库·mysql
程序员鱼皮2 小时前
刚刚,IDEA 免费版发布!终于不用破解了
java·程序员·jetbrains
热心市民蟹不肉3 小时前
黑盒漏洞扫描(三)
数据库·redis·安全·缓存