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
))