Olá pessoal,
Estou fazendo o exemplo do curso digitando todos os códigos e adaptando um pouco o domínio do problema para não fazer exatamente o que já foi feito no curso. Pois bem, meu problema é que apesar de parecer tudo correto quando comparo com o projeto do curso, a classe autor não está tendo seu atributo Id gerado automaticamente. Sei que no o curso não é sobre JPA, mas não estou entendendo porque no projeto pronto funciona e quando tentei reproduzir aqui não.
Abaixo a minha classe autor (note que houve uma extensão no dominio, mas em geral continua muito semelhante ao que é feito no curso).
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Autor {
@Id
@GeneratedValue
private Integer id;
private String nome;
private String email;
private String endereco;
private String telefone;
private String qualificacao;
private String CPF;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getQualificacao() {
return qualificacao;
}
public void setQualificacao(String qualificacao) {
this.qualificacao = qualificacao;
}
public String getCPF() {
return CPF;
}
public void setCPF(String cPF) {
CPF = cPF;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
Abaixo a autorBean:
import javax.faces.bean.ManagedBean;
import br.edu.univasf.minisgep.dao.DAO;
import br.edu.univasf.minisgep.modelo.Autor;
@ManagedBean
public class AutorBean {
private Autor autor = new Autor();
public Autor getAutor() {
return autor;
}
public void gravar() {
System.out.println("Gravando autor " + this.autor.getNome() + "ID do autor adicionado = " + this.autor.getId());
new DAO<Autor>(Autor.class).adiciona(this.autor);
autor = new Autor();
}
}
No System.out acima, recebo null no autor.getId(). Os jars do hibernate, mysql e etc são os mesmos do projeto original. Alguém pode me ajudar a entender o que deu de errado ?