Room: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: abc)
Room: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: abc)
我想使用同一种对象来查询多个 table。我定义了一个基数 class,如下所示:
@Entity
public class BaseWordId {
@PrimaryKey
@NonNull
public Integer word_id;
}
然后我对基础 class 进行了子class 并且还为每个基础定义了 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();
}
但我一直收到编译错误,没有这样的 table: abc 也没有这样的 table: xyz。有什么想法吗?
您应该在您的房间数据库 class.
中提及 entities
@Database(entities = {BaseWordId.class, ABC.class}, version = VERSION_CODE, exportSchema = false)
public abstract class YourDatabase extends RoomDatabase {
//your Daos
}
我想使用同一种对象来查询多个 table。我定义了一个基数 class,如下所示:
@Entity
public class BaseWordId {
@PrimaryKey
@NonNull
public Integer word_id;
}
然后我对基础 class 进行了子class 并且还为每个基础定义了 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();
}
但我一直收到编译错误,没有这样的 table: abc 也没有这样的 table: xyz。有什么想法吗?
您应该在您的房间数据库 class.
中提及entities
@Database(entities = {BaseWordId.class, ABC.class}, version = VERSION_CODE, exportSchema = false)
public abstract class YourDatabase extends RoomDatabase {
//your Daos
}