>
Ola
Eu estou tentando reproduzir a aplicação do curso de JSF fazendo o formulario CRUD para clientes, porém com uma pequena diferença.
Estou usando hibernate ao inves de conectar diretamente na base.
No meu metodo de AddUser, chamado pelo commanddlink do formulario ao tentar persistiro registro ocorre o seguinte
Unknown entity: br.com.ftesch.Bean.cienteBean
Pois como no exemplo estou enviando para o DAO o meu objeto cliente, segue codigo
@ManagedBean(name="cliBean")
public class cienteBean extends ClienteVO {
public String AddCliente() {
String retorno = "erro";
try {
ClienteDAO dao = new ClienteDAO();
dao.inserir(this);
retorno = "sucesso";
} catch(Exception ex) {
System.out.println("ErroAddCliente:" + ex.getMessage());
}
return retorno;
}
}
O erro não está ocorrendo neste metodo, mas sim no medodo inserir, segue o codigo
public boolean inserir(ClienteVO cliente){
EntityManager em = getEntityManager().createEntityManager();
boolean retorno = false;
try{
em.getTransaction().begin();
em.persist(cliente);
em.getTransaction().commit();
retorno = true;
}catch (Exception e) {
em.getTransaction().rollback();
System.out.println("ErroDAO:" + e.getMessage()); //O erro ocorre aqui
}
return retorno;
}
Como posso proceder para resolver esse problema?
Consegui resolver o problema instanciando uma nova classe ClienteVO e atribuindo os valores
Há umaoutra forma de fazer isso:
segue o codigo
try {
ClienteVO vo = new ClienteVO();
vo.setEmail(this.getEmail());
vo.setNome(this.getNome());
vo.setIdade(this.getIdade());
ClienteDAO dao = new ClienteDAO();
if (dao.inserir(vo)) {
retorno = "sucesso";
}
} catch(Exception ex) {
System.out.println("ErroAddCliente:" ex.getMessage());
}
Funcionou perfeitamente