室:错误:查询存在问题:[SQLITE_ERROR] SQL错误或数据库丢失(无此表:abc) [英] Room: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: abc)

查看:798
本文介绍了室:错误:查询存在问题:[SQLITE_ERROR] SQL错误或数据库丢失(无此表:abc)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用同一种对象来查询多个表.我定义了如下的基类:

I'd like to use the same kind of object to query multiple tables. I defined a base class like below:

@Entity
public class BaseWordId {
    @PrimaryKey
    @NonNull
    public Integer word_id;
}

然后我继承了基类,并为每个基类定义了DAO.

I then subclassed the base class and also defined DAO for each of them.

@Entity(tableName = "abc")
public class ABC extends BaseWordId {
}

@Entity(tableName = "xyz")
public class XYZ extends BaseWordId {
}

@Dao
public interface ABCDao {
    @Query("SELECT * FROM abc")
    List<ABC> get_all();
}

@Dao
public interface XYZDao {
    @Query("SELECT * FROM xyz")
    List<XYZ> get_all();
}

但是我一直收到一个编译错误,提示没有这样的表:abc,也没有这样的表:xyz.有什么主意吗?

But I kept getting a compile error that no such table: abc and no such table: xyz. Any idea?

推荐答案

您应该在roomDatabase类中同时提到两者.

You should mention both the entities in your roomDatabase class.

@Database(entities = {BaseWordId.class, ABC.class}, version = VERSION_CODE, exportSchema = false) 
public abstract class YourDatabase extends RoomDatabase {
    //your Daos
}

这篇关于室:错误:查询存在问题:[SQLITE_ERROR] SQL错误或数据库丢失(无此表:abc)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆