Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 房间:错误:查询有问题:[SQLITE\u error]SQL错误或缺少数据库(没有这样的表:abc)_Android_Database_Android Room - Fatal编程技术网

Android 房间:错误:查询有问题:[SQLITE\u error]SQL错误或缺少数据库(没有这样的表:abc)

Android 房间:错误:查询有问题:[SQLITE\u error]SQL错误或缺少数据库(没有这样的表:abc),android,database,android-room,Android,Database,Android Room,我想使用同一种对象来查询多个表。我定义了一个基类,如下所示: @Entity public class BaseWordId { @PrimaryKey @NonNull public Integer word_id; } 然后,我对基类进行了子类化,并为每个基类定义了DAO @Entity(tableName = "abc") public class ABC extends BaseWordId { } @Entity(tableName = "xyz") pub

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

@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();
}
@实体(tableName=“abc”)
公共类ABC扩展BaseWordId{
}
@实体(tableName=“xyz”)
公共类XYZ扩展BaseWordId{
}
@刀
公共接口{
@查询(“从abc中选择*)
列出get_all();
}
@刀
公共接口XYZDao{
@查询(“从xyz中选择*)
列出get_all();
}

但我一直得到一个编译错误,没有这样的表:abc,也没有这样的表:xyz。有什么想法吗?

您应该在roomDatabase类中同时提到
实体

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