>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



ErroDAO:Unknown entity: br.com.ftesch.Bean.cienteBean


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?



1 Resposta


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