Android Room 错误:查询返回的列没有字段,即使它们被注释为非空或原始字段

2023-12-24

所以我想使用 Android Studio 中的 Room 加入我的表,这是我的模型类。

伊巴达.java

@Entity(tableName = "tibadah")
public class Ibadah implements Serializable {

    @PrimaryKey(autoGenerate = true)
    public int idIbadah;

    @ColumnInfo(name = "nama_ibadah")
    public String namaIbadah;

    @ColumnInfo(name = "deskripsi_ibadah")
    public String deskripsiIbadah;

    @ColumnInfo(name = "satuan_ibadah")
    public String satuanIbadah;

    public String getSatuanIbadah() {
        return satuanIbadah;
    }

    public void setSatuanIbadah(String satuanIbadah) {
        this.satuanIbadah = satuanIbadah;
    }

    public String getDeskripsiIbadah() {
        return deskripsiIbadah;
    }

    public void setDeskripsiIbadah(String deskripsiIbadah) {
        this.deskripsiIbadah = deskripsiIbadah;
    }

    public int getIdIbadah() {
        return idIbadah;
    }

    public void setIdIbadah(int idIbadah) {
        this.idIbadah = idIbadah;
    }

    public String getNamaIbadah() {
        return namaIbadah;
    }

    public void setNamaIbadah(String namaIbadah) {
        this.namaIbadah = namaIbadah;
    }

}

SimpanTarget.java

@Entity(tableName = "tabjoin")

public class SimpanTarget implements Serializable {

    @PrimaryKey(autoGenerate = true)
    public int idSimpan;

    @ColumnInfo(name = "id_ibajoin")
    public int idIbadahJoin;

    @ColumnInfo(name = "id_periode")
    public int idPeriode;

    @ColumnInfo(name = "id_target")
    public int idTarget;

    @ColumnInfo(name = "id_catat")
    public int idCatat;

    @ColumnInfo(name = "id_lapor")
    public int idLapor;

    @ColumnInfo(name = "id_satuan")
    public int idSatuan;

    @ColumnInfo(name = "nama_ibadah")
    public String namaIbadah;

    @ColumnInfo(name = "satuan_ibadah")
    public String satuanIbadah;

    @ColumnInfo(name = "target_ibadah")
    public boolean targetIbadah;

    @ColumnInfo(name = "catat_ibadah")
    public boolean catatIbadah;

    @ColumnInfo(name = "lapor_ibadah")
    public boolean laporIbadah;

    @ColumnInfo(name = "et_target")
    public String etTarget;

    @ColumnInfo(name = "et_capaian")
    public String etCapaian;

    @ColumnInfo(name = "status")
    public boolean status;

    public int getIdSimpan() {
        return idSimpan;
    }

    public void setIdSimpan(int idSimpan) {
        this.idSimpan = idSimpan;
    }

    public int getIdIbadahJoin() {
        return idIbadahJoin;
    }

    public void setIdIbadahJoin(int idIbadahJoin) {
        this.idIbadahJoin = idIbadahJoin;
    }

    public int getIdPeriode() {
        return idPeriode;
    }

    public void setIdPeriode(int idPeriode) {
        this.idPeriode = idPeriode;
    }

    public int getIdTarget() {
        return idTarget;
    }

    public void setIdTarget(int idTarget) {
        this.idTarget = idTarget;
    }

    public int getIdCatat() {
        return idCatat;
    }

    public void setIdCatat(int idCatat) {
        this.idCatat = idCatat;
    }

    public int getIdLapor() {
        return idLapor;
    }

    public void setIdLapor(int idLapor) {
        this.idLapor = idLapor;
    }

    public int getIdSatuan() {
        return idSatuan;
    }

    public void setIdSatuan(int idSatuan) {
        this.idSatuan = idSatuan;
    }

    public boolean isTargetIbadah() {
        return targetIbadah;
    }

    public void setTargetIbadah(boolean targetIbadah) {
        this.targetIbadah = targetIbadah;
    }

    public boolean isCatatIbadah() {
        return catatIbadah;
    }

    public void setCatatIbadah(boolean catatIbadah) {
        this.catatIbadah = catatIbadah;
    }

    public boolean isLaporIbadah() {
        return laporIbadah;
    }

    public void setLaporIbadah(boolean laporIbadah) {
        this.laporIbadah = laporIbadah;
    }

    public String getEtTarget() {
        return etTarget;
    }

    public void setEtTarget(String etTarget) {
        this.etTarget = etTarget;
    }

    public String getEtCapaian() {
        return etCapaian;
    }

    public void setEtCapaian(String etCapaian) {
        this.etCapaian = etCapaian;
    }

    public boolean isStatus() {
        return status;
    }

    public void setStatus(boolean status) {
        this.status = status;
    }

    public String getNamaIbadah() {
        return namaIbadah;
    }

    public void setNamaIbadah(String namaIbadah) {
        this.namaIbadah = namaIbadah;
    }

    public String getSatuanIbadah() {
        return satuanIbadah;
    }

    public void setSatuanIbadah(String satuanIbadah) {
        this.satuanIbadah = satuanIbadah;
    }
}

IbadahDAO.java

@Dao
public interface IbadahDAO {
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    long insertIbadah (Ibadah ibadah);

    @Update
    int updateIbadah (Ibadah ibadah);

    @Delete
    int deleteIbadah (Ibadah ibadah);

    @Insert (onConflict = OnConflictStrategy.REPLACE)
    long insertTarget (Ibadah ibadah);

    @Insert (onConflict = OnConflictStrategy.REPLACE)
    long insertCapai (Ibadah ibadah);

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    long insertNamaTarget (NamaTarget namaTarget);

    @Update
    int updateNamaTarget (NamaTarget namaTarget);

    @Delete
    int deleteNamaTarget (NamaTarget namaTarget);

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    long insertIbadah (NamaTarget namaTarget);

    @Update
    int updateIbadah (NamaTarget namaTarget);

    @Insert (onConflict = OnConflictStrategy.REPLACE)
    long insertTarget (NamaTarget namaTarget);

    @Insert (onConflict = OnConflictStrategy.REPLACE)
    long insertCapai (NamaTarget namaTarget);

    @Insert (onConflict = OnConflictStrategy.REPLACE)
    long insertDataTarget (SimpanTarget simpanTarget);

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    long insertIbadah (SimpanTarget simpanTarget);

    @Update
    int updateIbadah (SimpanTarget simpanTarget);

    @Query("SELECT * FROM ttarget WHERE nama_target = nama_target")
    NamaTarget[] selectAllNamaTargets();

    @Query("SELECT * FROM tibadah")
    Ibadah[] selectAllStatus();

    @Query("SELECT * FROM tibadah")
    Ibadah[] selectAllIbadahs();

    @Query("SELECT * FROM tibadah WHERE idIbadah = :id LIMIT 1")
    Ibadah selectIbadahDetail(int id);

    @Query("SELECT * FROM ttarget WHERE idTarget = :id LIMIT 1")
    NamaTarget selectPeriodeDetail(int id);

    @SuppressWarnings(RoomWarnings.CURSOR_MISMATCH)
    @Query("SELECT tabjoin.idSimpan, tibadah.nama_ibadah " +
            "FROM tabjoin, tibadah " +
            "WHERE tabjoin.id_ibajoin = tibadah.nama_ibadah ")
    SimpanTarget[] selectAllIbadahJoin();
}

所以我的问题是当我想使用此代码加入该表时

@Query("选择 tabjoin.idSimpan, tibadah.nama_ibadah " + “来自 tabjoin,tibadah” + “其中 tabjoin.id_ibadah = tibadah.nama_ibadah ”)

SimpanTarget[] selectAllIbadahJoin();

然后它显示这个错误

错误:查询返回的列没有字段[idIbadah,idPeriode,idTarget,idCatat,idLapor,idSatuan,targetIbadah,catatIbadah,laporIbadah,状态] 在 skripsi.com.ggr.managementibadah.model.SimpanTarget即使它们被注释为非空或原始。

查询返回的列:[idSimpan,nama_ibadah]

我觉得显示错误是因为我没有关联我的表?真的吗?如果不是如何解决该错误?我希望你可以帮助我。 非常感谢你,并对我的英语不好感到抱歉。


这与关系无关。错误消息基本上说:在您的查询中您只选择tabjoin.idSimpan, and tibadah.nama_ibadah;并且您正在尝试返回一个类型的数组SimpanTarget。这两个字段不足以创建SimpanTarget实例。您应该选择整组字段。例如:SELECT tabjoin.*

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Room 错误:查询返回的列没有字段,即使它们被注释为非空或原始字段 的相关文章

随机推荐

  • 在 asp.net mvc 2.0 中使用 Html.DropDownListFor 助手时如何更改 id 值?

    我有这样的部分观点 现在您可以创建新产品并编辑现有产品 编辑和创建都使用相同的形式 加载时创建位于主页上 编辑会在 jQuery UI 模型对话框中弹出并呈现新的部分视图 因此 就页面而言 我有两个具有相同 id 的下拉框 这很糟糕 因为它
  • 向下滚动到页面图像时是否能够部分加载页面图像,或者只是效果?

    我在一些网站上注意到 例如http mashable com http mashable com当您打开页面并尝试滚动它时 它似乎在您到达它时加载图像 我不知道这是否只是闪烁效果 或者它确实是为了减少滚动到它之前的图像负载 这是一个帮助您入
  • Hbase-hadoop集成中datanode、regionserver的作用

    根据我的理解 行被插入到 HBase 表中 并作为区域存储在不同的区域服务器中 因此 区域服务器存储数据 类似地 就 Hadoop 而言 数据存储在 hadoop 集群中的数据节点中 假设我在 Hadoop 1 1 1 之上配置了 HBas
  • 仅当安装支持 Android 应用程序时 HTML 重定向到自定义协议

    我想让所有用于我的应用程序的 URI 启动我的应用程序 如果已安装 如果未安装 我想显示有关我的应用程序的网页 看了下面两个问题 还是找不到靠谱的解决办法 意图过滤器适用于 Google 但不适用于 Chrome 和 Facebook ht
  • Flask jsonify 在新行上打印结果

    第一次使用 Flask 我创建了一个非常基本的应用程序 我正在尝试打印推荐系统的结果 第一组代码来自我的 python 函数 print most similar 正在创建一个格式化字符串 希望在新行上打印每个 REC 代码的第二部分显然是
  • 如何将不同的输入放入 sklearn Pipeline 中?

    我正在使用 sklearn 的 Pipeline 对文本进行分类 在此示例管道中 我有一个 TfIDF 矢量器和一些用 FeatureUnion 包装的自定义功能和分类器作为管道步骤 然后我拟合训练数据并进行预测 from sklearn
  • LUA_MULTRET 未按预期工作

    This is almost的副本这个问题 https stackoverflow com questions 12528820 lual dostring puts nothing on the stack 但是 答案表明并不能解决我的问
  • 如何在单元测试中模拟JPA存储库的find方法

    我正在尝试 UT 我的小项目 但遇到了问题 我的应用程序使用简单的分层架构 我不能碰巧UT服务层 事实上我想嘲笑班级Crud存储库 https docs spring io spring data commons docs current
  • 错误参考错误:“ng build”时“缓冲区未定义”

    我正在尝试在我的角度组件 ts 中使用 Buffer 来编码授权字符串 它没有编译ng build 我试过npm i types node并将 node 添加到 tsconfig json 中的 types 字段 但错误仍然存 在 以下是错
  • 带参数的 Scala 传递函数

    将一个函数传递给另一个函数的 Scala 示例缺少传递的函数 timeFlies 采用参数 x 的情况 object Timer def oncePerSecond callback Int gt Unit while true callb
  • 如何在 Java 中实例化一组映射?

    我可以使用泛型声明映射数组来指定映射类型 private Map
  • 如何在 SQLPLUS 中执行 SQL 脚本期间回显文本

    我有一个批处理文件 它在 sqlplus 中运行 SQL 脚本并将输出发送到日志文件 sqlplus user pw RowCount log 我的日志文件包含以下内容 Connected to Oracle Database 11g Ex
  • 将数据写入plist

    我想从 plist 读取数据 添加一些元素并将数据写入 plist 更新 plist 我想让 plist 保存一个字典数组 将该数组读入我的应用程序 添加字典 然后将数组写回 plist 这是怎么做到的 我也不确定在应用程序首次启动时在哪里
  • Tensorflow 与 Numpy 数学函数

    numpy 和tensorflow 执行的数学函数之间有什么真正的区别吗 例如 指数函数 还是最大值函数 我注意到的唯一区别是张量流接受张量的输入 而不是 numpy 数组 这是函数结果中唯一的区别 并且按值没有区别吗 正如已经提到的 存在
  • 将 Woocommerce 添加到购物车按钮添加到相关产品和产品列表

    我在向 WooCommerce 添加其他内容时遇到一些困难 因为我对它还是新手 我正在尝试向相关产品和产品列表添加 添加到购物车 按钮 正在运行代码并卡在下面 a href a
  • 从 Widget AppWidgetProvider 内部访问布局项

    我开始疯狂地试图弄清楚这一点 看起来应该很容易 我开始怀疑是否可能 我想做的是创建一个主屏幕小部件 仅包含一个 ImageButton 当按下它时 想法是更改一些设置 例如 Wi Fi 切换 然后更改按钮图像 我在 main xml 中声明
  • AngularJS 错误:“参数‘FirstCtrl’不是函数,未定义”

    我注意到同样的问题在这里被问了几次 我尝试解决它 但没有任何帮助 我正在按照本教程和知识分子视频进行操作 但是当我进入控制器和控制器之间共享数据部分时 我无法让它工作 当我使用 Chrome 运行它时 我在控制台中收到此错误 参数 Firs
  • 使用Python和tvtk将数据保存到VTK并具有多个向量场

    我试图保存对应于相同结构网格的三组矢量 速度 湍流强度和速度波动的标准偏差 理想情况下 我希望它们成为同一个 vtk 文件的一部分 但到目前为止我只能将其中之一放入文件中 如下所示 sg tvtk StructuredGrid dimens
  • 需要将 wrapbootstrap 主题集成到新的 Rails 应用程序中的说明

    我刚刚在 wrapbootstrap 上购买了一个主题 并启动了一个新的 Rails 应用程序来试验它 该主题没有文档 而且我是 Rails 新手 因此我需要一些帮助 这里的其他示例都不是非常详细 并且网上似乎没有关于此的博客文章 谢谢 这
  • Android Room 错误:查询返回的列没有字段,即使它们被注释为非空或原始字段

    所以我想使用 Android Studio 中的 Room 加入我的表 这是我的模型类 伊巴达 java Entity tableName tibadah public class Ibadah implements Serializabl