Room 使用遇到的问题

android、Jetpack Compose使用 Room数据库kapt注解时出现的相关问题整理。 问题 3:execution failed for task ':app:kspdebugkotlin'. > could not resolve all files for configuration ':app:kotlin-extension'. > could not find androidx.compose.compiler:compiler:1.9.0.问题 4:task :app:kspdebugkotlin failed e: java.lang.stackoverflowerror。 阅读详情

Room 使用遇到的问题

  1. Migration didn’t properly handle

在这里插入图片描述

Migration 升级数据库时,更新表结构时,SQL语句

AlTER TABLE User ADD COLUMN sync_state integer

运行时,报错,当已经存在的数据表跟新的数据表不同时会抛出此异常,修改SQL语句为

AlTER TABLE User ADD COLUMN sync_state integer NOT NULL DEFAULT 1

参考:Migration didn’t properly handle

  1. 设置字段为非空约束

    在字段上面添加@NonNull 注解

    @NonNull
    @ColumnInfo(name = "reader_id")
    public String reader_id;
    

参考:Room 使用之如何为字段设置非空约束

3.column references a foreign key but it is not part of an index

user_id column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.

user_id列引用一个外键,但它不是索引的一部分。这可能会在父表被修改时触发全表扫描,因此强烈建议您创建一个覆盖该列的索引

@Entity(foreignKeys = @ForeignKey(entity = User.class,
        parentColumns = "reader_id",
        childColumns = "user_id",onDelete = ForeignKey.CASCADE),indices = {@Index(value = "id",unique = true),@Index(value = "user_id")})
public class Book {
    @PrimaryKey(autoGenerate = true)
    @ColumnInfo(name = "id")
    public int id;
    /**
     *
     */
    @NonNull
    @ColumnInfo(name = "user_id")
    public String user_id;
   }
   
   
@Entity(indices = {@Index(value = {"reader_id"},unique = true)})
public class User {
    @PrimaryKey(autoGenerate = true)
    public int uid;
    @ColumnInfo(name = "user_name")
    public String userName;
    @NonNull
    @ColumnInfo(name = "reader_id")
    public String reader_id;
   }  

Book表的user_id是User表的外键,在book表上的user_id添加index 索引

参考:

https://stackoverflow.com/questions/44480761/android-room-compile-time-warning-about-column-in-foreign-key-not-part-of-an-ind

pile-time-warning-about-column-in-foreign-key-not-part-of-an-ind

schrodinger 薛定谔 链接: https://pan.baidu.com/s/1Duh4GsoytIklvZp7TdHpWg 密码: wmr1 Linux系统版 进入 Schrodinger_Suites_2021-2_Linux-x86_64 sudo ./INSTALL 中间按默认的来即可,也可以自己调整安装目录。安装目录一定要记住。 安装完,把patcher 拷贝到安装目录 sudo ./patcher 点击Patch即可。 启动程序,进入安装目录 ./maestro ... 阅读详情

相关推荐

ADK 第一篇 Google Agent Development Kit 简介

是一个灵活且模块化的框架,专为开发和部署AI智能体而设计。虽然ADK针对Gemini和Google生态系统进行了优化,但它与模型无关、与部署环境无关,并兼容其他框架。ADK的核心理念是让智能体开发更接近传统软件开发模式,从而帮助开发者更轻松地构建、部署和编排智能体架构——无论是处理简单任务,还是管理复杂工作流。:利用预置工具、自定义函数、OpenAPI规范或集成现有工具,赋予智能体多样化能力,实现与谷歌生态系统的深度整合。

2501_90353350的博客 3043

Kotlin 22. Kotlin Room问题:column references a foreign key but it is not part of an index

column references a foreign key but it is not part of an index

破浪会有时的博客 1002

Yocto下载加速秘籍:用清华镜像+PREMIRRORS配置让构建速度翻倍

本文详细解析了如何通过配置Yocto的PREMIRRORS优先级策略,并利用清华大学等国内镜像源,显著加速构建过程中的源码下载。文章提供了具体的配置示例和验证方法,帮助开发者解决网络瓶颈,实现构建速度翻倍,提升开发效率。

game4的博客 276

java.lang.IllegalStateException: Migration didn‘t properly handle

用Room新建表或修改表时报这个错误,一般情况是实体类里所定义的字段所带的属性跟Migration里所sql语句所表达不一致造成的,比如实体类里定义了Int? 可为空,但database.execSQL()里却是NOT NULL导致两者属性不一致报错。 ...

码农爱学习,赚得几斗钱 4404

基于Arduino 的 FM 调频收音机

这是一个基于 Arduino 的开源的收音机项目,它具备一台标准收音机的全部功能,从控制部分到外壳都可以自己 DIY。在项目中,我们将介绍让 FM 收音机调谐器的 RDA5807 模块与 I2C 协议进行通信的方法,整个过程只需要两根线就可以与 IC 通信,接线非常简单。3D 打印的外壳也非常简洁。总之,是个非常简单和实用的项目,来试试吧!

ByteBox的博客 1642

超声波 vs 红外 vs 激光雷达:扫地机器人避障传感器选型指南(实测对比)

本文深入对比了扫地机器人三种主流避障传感器——超声波、红外与激光雷达的核心原理与实测表现。文章基于成本、精度、环境适应性等关键指标,提供了清晰的选型决策树和典型场景配置方案,旨在帮助开发者与爱好者根据项目需求与预算,构建高效可靠的机器人避障系统。

h0i1j2k3l的博客 690

【已解决】sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column todos.list_id could

在运行migrate的时候遭遇报错,错误信息是:“sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'todos.list_id' could not find table 'todolist' with which to generate a foreign key to target column 'id'” 参考了网友的解答:https://blog.csdn.net/qq_38217864/art

Toadette's 3103

大模型推理中Prefill与Decode、KV Cache三者说明

Prefill 阶段对输入 Prompt 并行编码,一次性构建KV Cache,属于计算密集型任务。Decode 阶段逐 token 迭代生成,复用KV Cache避免重复计算,属于显存带宽密集型任务。KV Cache是自回归推理的核心基石,用显存换时间,实现两阶段衔接与高效生成。PD 分离通过任务解耦、异构硬件、异步调度、独立批处理,解决传统一体化推理的资源冲突与利用率低下问题,是当前云端大模型推理服务的主流工程优化方向。

a486259的博客 1489

表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理

[url]http://www.muxuanli.com/lmx/[/url] 有两张表,结构如下: [code="java"] t_item: t_bid: id int id int name varchar ...

wbszlj的博客 4423

基因家族快速鉴定指南:Windows平台下的HMMER实战解析

本文详细解析了在Windows平台下使用HMMER工具进行基因家族快速鉴定的完整实战流程。通过手把手指导,从软件获取、数据准备到模型构建与序列搜索,帮助生物信息学新手无需Linux环境,即可高效完成bZIP转录因子等家族的鉴定工作,大幅降低分析门槛。

weixin_29255731的博客 460

Python爬虫实战:新浪财经股票金融数据全方位抓取教程

本教程系统介绍了新浪财经股票数据爬取技术,从静态网页解析、实时接口请求到异步爬取和数据存储,帮助你搭建了一个完整的金融数据采集流程。未来,可以结合深度学习模型进行行情预测,或者将数据接入量化交易系统,实现自动化投资。

2201_76125261的博客 2210

[引]MySQL INNODB类型表的外键关联设置

Here is a simple example that relates parent and child tables through a single-column foreign key: CREATE TABLE parent (id INT NOT NULL,                      PRIMARY KEY (id) ) ENGINE=INNODB; CRE...

weixin_33817333的博客 203

五、MT8168 音频驱动之SPEAKER

本章主要讲解MT8168平台的内部SPEAKER驱动配置。分为HP接法和LINE OUT接法。2.1.3 audio_custom_exp.h设置。2.1.4 mixer_paths.xml设置。2.2.3 mixer_paths.xml设置。2.1.2 ProjectConfig 设置。2.2.2 ProjectConfig 设置。2.2.1 deconfig设置。2.1.1 DTS设置。......

Joon2020的博客 1664

android room 简书,android Room库使用问题

资料学习过程记录照着各种文章写,简单的实现都一样,可跑起来总是挂java.lang.RuntimeException: cannot find implementation for com.charliesong.roomtest.room.JavaDatabase. JavaDatabase_Impl does not existat androidx.room.Room.getGenerate...

weixin_39601194的博客 1079

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Room使用遇到的问题

room升级可以自动配置,官方文档有说明,新版本的库就行,看参考链接。向下面一样配置 is_my_attention是新添加的字段,配置完build一下,报如下的错: 意思是没有设置默认值,我们设置一个默认值 再build一下,还报错 这是注解自动生成的代码,居然报错,真是奇葩,也可能是没用对。 不纠结了,改成手动配置升级 升级成功了采用上面的升级方式,用koltin就有问题,真奇葩 这个怎么回事呀?还是注解自动生成代码出错了,为啥不能生成set方法呢? 后来猜想是不是名字带is导致的,把i

“点点”专栏 3375

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android jetpack room 使用问题总结

android jetpack room 使用问题总结 问题一:Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide room.schemaLocation annotation processor argument OR set exportSchema to false. 模式导出目录未提供给注释处理器,因此我们无

guojingbu的博客 2454

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

安装数据库集成使用问题greendao room

greendao使用

shuangrenlong的博客 739

关于 Altium Designer 使用ROOM功能进行相同模块的布局过程中遇见的一些问题

这种现象需要检查自己框选的器件是否是同一张原理图里的,我在进行布局时布的一个部分是两个原理图里的,每张原理图里的器件有自己的channel offset,如果两张原理图里的器件一起布,channel offset就会重复,会报错。解决办法:如果是两张原理图仍然想要进行布局,可一张一张使用room功能,再进行拼凑即可,或者切换更大的原理图纸张尺寸,将两部分原理图放到一起,再进行布局。(1)相同模块间器件数量是否相同,是否不小心框选了其他部分的器件。(2)相同模块间器件位号排列顺序是否相同。

AaPG_的博客 1262

使用asmack创建room的问题

最近有开始使用asmack创建项目了,在做room的时候总出we

BaddyBoy的专栏 898

Android 数据库-Room-使用问题集

一、介绍 Room是谷歌官方发布的一个对象关系映射(ORM)库,使用非常简单,详细参见官方文档介绍:https://developer.android.com/training/data-storage/room/ 本文只表述ROOM使用时比较常见的问题集,关于其基础使用,请参加官方文档。 值得一提的是ROOM支持RxJava。并且还可与LiveData相结合,查询完结果后,自动更新UI,这个支持非常实用: @Dao interface UserDao { @Query("SELECT f

johnwang7的博客 1279

LiveData结合Room数据库使用以及线程问题

在LiveData的官方文档中有提到LiveData可以和Room数据库一起使用 也就是说Room查询时可以直接返回一个LiveData对象,给这个LiveData对象添加观察者之后只要数据库数据发生改变都可以收到回调。 Room的使用不在这里说了,直接贴上代码 添加依赖: androidTestImplementation "android.arch.persistence.room:...

祁门路搅屎王的博客 9461

android 使用 Room 数据库,采用 ID 作为主键存在问题

573

Jetpack Room的使用、特点、原理、源码解读、以及要注意的问题

Jetpack Room的使用、特点、原理、源码解读、以及要注意的问题

challenge51all的专栏 863

Android - Kotlin 下使用 Room 遇到 There are multiple good constructors and Room will ... 问题

问题: kotlin 更新值 1.2.6 版本时,room 表的实体类就编译不通过了,比如: @Entity(tableName = "table_hex") data class HexData constructor( @ColumnInfo(name = "id") @PrimaryKey(autoGenerate = true) var ...

原小明 7529

Altium Designer复制N路相同电路中使用Room时遇到的问题----Channel offset

快速复制N路相同电路的方法很多,如果仅仅使用复制和粘贴操作,会遇到规则检查的问题,利用room会是一个较好的方法。、 如下图所示,将左侧的电流规划成和右侧电路相同; 1、图中深色部分为通过添加Room来添加的Room; 2、双击左侧元件,会看到红框中的Channel offset项,如图所示: 3,将其修改为与右侧图示元件的Channel Offset值相同。 4,执行Roo

2万+

room使用注意的问题(小记)

room

Lchannel的博客 369
上一篇: Room 使用简单记录
下一篇: RK3399 Android7.1 编译
K_Hello
博客等级 码龄12年 33粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值