0
respostas

Erro ao tentar remover um autor associado a um livro

Estou tentando remover um autor associado a um livro, ao tentar remover apresenta erro e não vai mensagem de erro na tela. Chamada do metodo:

public void remover(Autor autor) {

    if (this.livro.getAutores().contains(autor) == true) {
        FacesContext.getCurrentInstance().addMessage("autor",
                new FacesMessage("Nao pode remover autor que contem um livro associado !"));
    } else {

        new DAO<Autor>(Autor.class).remove(autor);
    }

}

Metodo equals e hashCode na class Autor

@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((id == null) ? 0 : id.hashCode());
    result = prime * result + ((nome == null) ? 0 : nome.hashCode());
    return result;
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    Autor other = (Autor) obj;
    if (id == null) {
        if (other.id != null)
            return false;
    } else if (!id.equals(other.id))
        return false;
    if (nome == null) {
        if (other.nome != null)
            return false;
    } else if (!nome.equals(other.nome))
        return false;
    return true;
}

Erro no console: a foreign key constraint fails (livrariadb.livro_autor, CONSTRAINT FK9590997AD70C7E4A FOREIGN KEY (autores_id) REFERENCES autor (id))

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software