我在我的类的一些字段上遇到了这个错误
错误:字段具有非唯一列名
@Entity(tableName = "Team", foreignKeys = {
@ForeignKey(entity = Group.class, parentColumns = "id", childColumns = "groupId")},
indices = {@Index("groupId")})
public class Team {
@PrimaryKey
private long id;
private long groupId;
@SerializedName("Team")
private String name;
private String englishName;
@SerializedName("Played")
private int played;
@SerializedName("Victories")
private int win;
@SerializedName("Draws")
private int draw;
@SerializedName("Defeats")
private int defeat;
@SerializedName("Made")
private int goalFor;
@SerializedName("Let")
private int goalAgainst;
@SerializedName("Diff")
private int goalDiff;
@SerializedName("Points")
private int points;
public Team() {
}
/* getter and setter methods */
}
例如,在“win”、“draw”和“groupId”上出现了错误,但在“id”或“name”上没有。正如您所看到的,这是一个编译错误,并且除了标题中的那个句子外,它不提供任何有关错误的信息。
编辑:我尝试更改变量的名称,但它没有起作用。
编辑:对于“win”的getter和setter方法,其他方法看起来完全相同。
public int getWin() {
return win;
}
public void setWin(int win) {
this.win = win;
}
win
添加getter和setter吗? - Michał Baran@ColumnInfo(name = “xxxx”)
以指定它们在SQL表中的名称,也许序列化名称有冲突?我不确定。无论如何,我会将它们设置为公共的,并删除getter/setter,除非你真的需要它们。 - Martin Marconcini