You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android使用@ForeignKey的onDelete=CASCADE不识别是否缺依赖

问题原因

这个报错和依赖缺失没有关系。CASCADE是ForeignKey注解内置的静态常量,直接裸写CASCADE时,IDE无法定位到该常量的定义,自然会提示无法识别。

解决方法
  • 标准写法:直接通过ForeignKey类名引用常量,不需要额外配置,修正后的代码如下:
@ForeignKey(
    entity = User.class,
    parentColumns = "id",
    childColumns = "user",
    onDelete = ForeignKey.CASCADE
)
private int user;
  • 简化写法:如果想直接使用CASCADE省略类名前缀,在文件头部添加静态导包语句即可:
import static androidx.room.ForeignKey.CASCADE;

添加该导包后,你最初写的代码就可以正常被IDE识别、编译通过。

排查注意

如果按上述方式修改后依旧报错,检查ForeignKey的导包路径:必须引入androidx.room.ForeignKey,不要导入其他库下的同名类。只要你当前代码能正常使用@ForeignKey注解,就说明Room依赖已经配置完成,不需要额外添加依赖。

内容的提问来源于stack exchange,提问作者Martín Mato Búa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 14:54:19