【问题标题】:Room: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: abc)房间:错误:查询有问题:[SQLITE_ERROR] SQL错误或缺少数据库(没有这样的表:abc)
【发布时间】:2019-03-04 08:54:20
【问题描述】:

我想使用同一种对象来查询多个表。我定义了一个基类,如下所示:

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

然后我对基类进行了子类化,并为每个基类定义了 DAO。

@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。有什么想法吗?

【问题讨论】:

标签: android database android-room


【解决方案1】:

你应该在你的 roomDatabase 类中提到 bothentities

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多