当前位置: 首页 > 知识库问答 >
问题:

房间:错误:查询有问题:[SQLITE_ERROR]SQL错误或丢失数据库(没有这样的表: abc)

万知
2023-03-14

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

@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。任何想法?

共有1个答案

长孙文栋
2023-03-14

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

@Database(entities = {BaseWordId.class, ABC.class}, version = VERSION_CODE, exportSchema = false) 
public abstract class YourDatabase extends RoomDatabase {
    //your Daos
}
 类似资料:
  • 大家好,我有一些问题与我的SQLite数据库在我的java程序。我试图从几个表中检索数据,但它说我的表不存在。我已经用数据库浏览器检查过了,它肯定在那里,所以我不确定我做错了什么。这是我收到的错误: [SQLITE_ERROR]SQL错误或缺少数据库(没有这样的表:staff_clocked_in.clock_in_time) 我确信我的表存在,并且两个表中都有数据,这里是我的数据库浏览器的截图。

  • 我的Android应用程序中没有内置以下Dao: 当我在Android Studio3中构建项目时,我在gradle构建步骤中得到以下错误: 如果我删除loadAll函数,一切都像魅力一样工作...这个函数有什么问题?

  • 这是我的第一个问题。 我正在使用Room数据库构建一个应用程序,我试图遵循本教程,因为我需要实现多对多的关系。 但是,我一直得到以下错误,只要我尝试构建的应用程序: 错误:查询有问题:[SQLITE_ERROR]SQL错误或丢失数据库(没有这样的表: OwnerDogCrossRef)私有最终java.util.List dog=null; 我的实体,具有交叉引用数据类: 我的连接数据类: 我的刀

  • 这是我的系统分析和设计课程中的一个项目,所以我对Java相当陌生,只是学了一门基础课程,而数据库,从来没有学过。这是我第一次在这个网站上发帖,所以如果代码格式有点乱,我很抱歉。 下面是我的类加载DB的代码。 到数据库的连接工作正常,但当我试图输入用户名和密码时,我得到了错误。这是我的登录屏幕的代码。我向您保证表Employeeinfo确实存在于ScheduleSystem.sqlite中。 这是我

  • 我正在尝试使用Android Room,在完成本教程后,我在尝试构建应用程序时遇到以下错误: 这个名字很好,应该存在。在进行更改后,我清理了项目并确保它已从设备中完全卸载。 在我的中,我用这一行初始化中的内容: 这是我的代码: 应用数据库 许可证 许可证

  • 问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装: