Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

O AutorBean estaria com a annotation correta?

Ao tentar editar um autor, este estando marcado com @model (@RequestScope and @Named), acaba sendo salvo como um novo... ja que na hora de gravar o id do autor vai como null... O que não acontece quando o bean é marcado como @ViewModel(@ViewScope and @Named) ... Observei isso ao baixar o código final do curso.

@Model
public class AutorBean implements Serializable{

    private static final long serialVersionUID = 1L;

    private Autor autor = new Autor();

    private Integer autorId;
        // Restante do código
}
2 respostas
solução

Oi Jonathas,

Realmente, se o ManagedBean estiver com o escopo de Request, o id será null e um novo registro será cadastrado.

Para resolver tem 2 formas:

  1. Alterar o escopo para ViewScoped, conforme você disse
  2. Adicionar o id do registro no form do xhtml, utilizando a tag <h:inputHidden>

Exatamente, obrigado pela resposta.