当我尝试调试我的应用程序时,出现此错误:
"Note: PrimaryKey[id_pais] is overridden by PrimaryKey[id_sublocalidad]
我只是扩展一个实体,并且正在使用Room for Android Studio。 如果我不使用Room,则错误会消失。
@Entity(tableName="Pais")
public class Pais implements Parcelable {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id_pais")
@SerializedName("id_pais")
private Integer id_pais;
@SerializedName("NombrePais")
private String NombrePais;
@SerializedName("AbreviaturaPais")
private String AbreviaturaPais;
public Integer getId_pais() {
return id_pais;
}
public void setId_pais(Integer id_pais) {
this.id_pais = id_pais;
}
public String getNombrePais() {
return NombrePais;
}
public void setNombrePais(String nombrePais) {
NombrePais = nombrePais;
}
public String getAbreviaturaPais() {
return AbreviaturaPais;
}
public void setAbreviaturaPais(String abreviaturaPais) {
AbreviaturaPais = abreviaturaPais;
}
public Pais(String NombrePais, String AbreviaturaPais)
{
// this.id_pais=id_pais;
this.NombrePais=NombrePais;
this.AbreviaturaPais=AbreviaturaPais;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.id_pais);
dest.writeString(this.NombrePais);
dest.writeString(this.AbreviaturaPais);
}
public Pais(){}
public Pais(Parcel in) {
id_pais = in.readInt();
NombrePais = in.readString();
AbreviaturaPais = in.readString();
}
public static final Creator<Pais> CREATOR = new Creator<Pais>() {
@Override
public Pais createFromParcel(Parcel source) {
return null;
}
@Override
public Pais[] newArray(int size) {
return new Pais[size];
}
};
}
@Entity(tableName="SubLocalidad")
public class SubLocalidad extends Localidad {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id_sublocalidad")
@SerializedName("id_sublocalidad")
private Integer id_sublocalidad;
@SerializedName("NombreSubLocalidad")
private String NombreSubLocalidad;
@SerializedName("AbreviaturaSubLocalidad")
private String AbreviaturaSubLocalidad;
@SerializedName("pos_x_Perdida")
private Double pos_x_Perdida;
@SerializedName("pos_y_Perdida")
private Double pos_y_Perdida;
public Integer getId_sublocalidad() {
return id_sublocalidad;
}
public void setId_sublocalidad(Integer id_sublocalidad) {
this.id_sublocalidad = id_sublocalidad;
}
public String getNombreSubLocalidad() {
return NombreSubLocalidad;
}
public void setNombreSubLocalidad(String nombreSubLocalidad) {
NombreSubLocalidad = nombreSubLocalidad;
}
public String getAbreviaturaSubLocalidad() {
return AbreviaturaSubLocalidad;
}
public void setAbreviaturaSubLocalidad(String abreviaturaSubLocalidad) {
AbreviaturaSubLocalidad = abreviaturaSubLocalidad;
}
public Double getPos_x_Perdida() {
return pos_x_Perdida;
}
public void setPos_x_Perdida(Double pos_x_Perdida) {
this.pos_x_Perdida = pos_x_Perdida;
}
public Double getPos_y_Perdida() {
return pos_y_Perdida;
}
public void setPos_y_Perdida(Double pos_y_Perdida) {
this.pos_y_Perdida = pos_y_Perdida;
}
public SubLocalidad(){}
public SubLocalidad(Integer id_pais,Integer id_localidad, String NombreSubLocalidad,
String NombreLocalidad,String AbreviaturaSubLocalidad, Double pos_x_Perdida,
Double pos_y_Perdida,String AbreviaturaLocalidad
,String NombrePais, String AbreviaturaPais)
{
super(NombreLocalidad,AbreviaturaLocalidad,NombrePais,AbreviaturaPais);
// this.id_sublocalidad=id_sublocalidad;
this.NombreSubLocalidad=NombreSubLocalidad;
this.AbreviaturaSubLocalidad=AbreviaturaSubLocalidad;
this.pos_x_Perdida=pos_x_Perdida;
this.pos_y_Perdida=pos_y_Perdida;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.id_sublocalidad);
dest.writeString(this.NombreSubLocalidad);
dest.writeString(this.AbreviaturaSubLocalidad);
dest.writeDouble(this.pos_x_Perdida);
dest.writeDouble(this.pos_y_Perdida);
}
public SubLocalidad(Parcel in) {
id_sublocalidad = in.readInt();
NombreSubLocalidad = in.readString();
AbreviaturaSubLocalidad = in.readString();
pos_x_Perdida = in.readDouble();
pos_y_Perdida = in.readDouble();
}
public static final Creator<SubLocalidad> CREATOR = new Creator<SubLocalidad>() {
@Override
public SubLocalidad createFromParcel(Parcel source) {
return null;
}
@Override
public SubLocalidad[] newArray(int size) {
return new SubLocalidad[size];
}
};
}