【发布时间】:2022-01-21 08:51:37
【问题描述】:
遇到 Android Room 时出现错误。我用下面3个类来说明。 A 和 B 类是 Android 应用程序中的 2 个实体类。 C 类是 Android 框架中的一个修改类(更具体地说,它是我正在尝试自定义的核心 Java 库中的一个类)。
@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 个类都放在一个 Android 应用程序中,我也可以重现该错误)
我知道可以通过修改类A 或B 来修复此错误。但由于我正在自定义 Android 源代码,因此我假设我不允许更改 A 或 B 类。
是否可以通过修改类C来修复它?
【问题讨论】:
标签: java android android-room android-source