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)
相关推荐
逸Y 仙X14 小时前
文章八:ElasticSearch特殊数据字段类型解读
java·大数据·linux·运维·elasticsearch·搜索引擎
青木川崎14 小时前
设计模式之面试题
java·开发语言·设计模式
看我干嘛!14 小时前
在Windows上安装MySQL的两种方法
数据库·mysql
空空潍14 小时前
Java核心基础语法:从原理到实战,夯实Java开发基石
java·开发语言
jing-ya14 小时前
day 57 图论part9
java·开发语言·数据结构·算法·图论
huohuopro14 小时前
详解ThreadLocal的使用
java·开发语言·jvm
东离与糖宝14 小时前
微服务适配Java 26实战|GC优化+并发增强,线上稳了
java
专注API从业者14 小时前
淘宝商品详情 API 的 Webhook 回调机制设计与实现:实现数据主动推送
大数据·前端·数据结构·数据库
BUG?不,是彩蛋!14 小时前
Java变量作用域与类型转换实战
java·开发语言