Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

'@ForeignKey' not applicable to the field

Olá, estou acompanhando o professor passo a passo.

E já durante a escrita do código aparece 1 erro de complilação

Não sei o que há de errado

minha classe Telefone


import androidx.room.Entity;
import androidx.room.ForeignKey;
import androidx.room.PrimaryKey;

@Entity
public class Telefone {

    @PrimaryKey(autoGenerate = true)
    private int id;
    private String numero;
    private TipoTelefone tipo;
    @ForeignKey(entity = Aluno.class,
            parentColumns = "id",
            childColumns = "alunoId",
            onUpdate = ForeignKey.CASCADE,
            onDelete = ForeignKey.CASCADE)
    private int alunoId;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNumero() {
        return numero;
    }

    public void setNumero(String numero) {
        this.numero = numero;
    }

    public TipoTelefone getTipo() {
        return tipo;
    }

    public void setTipo(TipoTelefone tipo) {
        this.tipo = tipo;
    }
}

No console de erro tem a mensagem : '@ForeignKey' not applicable to the field

Código não compila

Alguém pode ajudar?

2 respostas
solução!

Quem chegar aqui...

https://cursos.alura.com.br/forum/topico-erro-foreignkey-not-applicable-to-field-220824

Tem um tópico que já tem a resposta

Basta declarar tudo em cima na Entity

@Entity(foreignKeys = @ForeignKey(entity = Aluno.class, parentColumns = "id", childColumns = "alunoId", onUpdate = ForeignKey.CASCADE, onDelete = ForeignKey.CASCADE))

Oi Fernando, tudo bem?

Que bom que você encontrou a resposta no fórum. Irei finalizar seu tópico,

Um abraço.