Android Studio 关于Room的警告: Primary key constraint on grade is ignored when being merged into *

特此记录:

问题:在使用Room架构组建中,AS 警告: Primary key constraint on grade is ignored when being merged into *。

原因:使用了 @Embedded 注解。

解决:在该处添加注解 @SuppressWarnings(RoomWarnings.PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED)。

@Entity(tableName = "test") // 如果数据库表的名不指定,即 @Entity,默认同类名
public class User {
    @PrimaryKey(autoGenerate = true)
    public int id;
 
    @ColumnInfo(name = "name") // 如果字段名和数据库表的列名相同,可以省略该注解
    public String name;
}
@Entity
public class City {
    @PrimaryKey
    public int id;

    @SuppressWarnings(RoomWarnings.PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED) // 如果没有该注解,Android Studio编译的时候会报警告,但不影响编译运行。
    @Embedded // 该注解会在数据库表City生成的时候加入User类中各字段对应的列,其中User类里声明的主键在City表中只是作为普通列。
    public User mayor;
}

帮助:解决方法是在外网看到的,记录的时候找不到网址了,只能抱歉了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值