注意:PrimaryKey [a]被PrimaryKey [b]覆盖-Android Studio

时间:2019-06-07 16:43:58

标签: java android android-sqlite android-room

当我尝试调试我的应用程序时,出现此错误:

"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];
        }
    };


}

0 个答案:

没有答案