Met "error: Multiple fields have the same columnName" when building Android AOSP

Met "error: Multiple fields have the same columnName" when building Android AOSP

遇到Android房间时遇到错误。我用下面的3class来说明。 Class AB 是 Android 应用中的 2 个实体 class。 Class C 是 Android 框架中修改的 class(更具体地说,它是我试图自定义的核心 Java 库中的 class) .

@Entity
@Dao
public abstract class A extends C {
    @PrimaryKey
    public int aid;
}
@Entity
@Dao
public abstract class B extends C {
    @PrimaryKey
    public int bid;

    @Embedded
    public A a;
}
public class C {
    private long cid;
    public void setCid(long cid) {this.cid = cid;}
    public long getCid() {return this.cid;}
}

当我构建 Android 源代码时,我得到的错误是 error: Multiple fields have the same columnName: cid. Field names: cid, a > cid.(如果所有 3 个 class 都放在 [=29= 中,我也可以重现错误] 应用)

我知道这个错误可以通过修改 class AB 来修复。但是由于我正在自定义 Android 源,所以我假设 class AB 不允许我更改。

是否可以通过修改class C来修复它?

如果不需要序列化,将 private long cid; 更改为 private transient long cid; 似乎是一个解决方案 class C.