我想使用同一种对象来查询多个表。我定义了一个基类,如下所示:
@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。任何想法?
最佳答案
你应该提到两个 entities
在你的 roomDatabase 类中。
@Database(entities = {BaseWordId.class, ABC.class}, version = VERSION_CODE, exportSchema = false)
public abstract class YourDatabase extends RoomDatabase {
//your Daos
}
关于android - 房间 : error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: abc),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52553971/