[RESOLVIDO] Ajuda crud com jpa/hibernate

4 respostas
A

Olá pessoal, sendo logo direto, vejam esse crud :

[quote]

public class RepositorioCliente {

EntityManagerFactory emf;

EntityManager em;
public RepositorioCliente(EntityManagerFactory emf2)
{
	emf = Persistence.createEntityManagerFactory("conexao");
	em =  emf.createEntityManager();
}

public void salvar(Clientes cliente){
	em.getTransaction().begin();
	em.merge(cliente);
	em.getTransaction().commit();
	em.close();
	
}
public void delete(Clientes c)
{
	em.getTransaction().begin();
	em.remove(c);
	em.getTransaction().commit();
	em.close();
}

public List<Clientes> listarDados()
{
	em.getTransaction().begin();
	Query consulta = em.createQuery("select cliente from Clientes cliente");	
	List<Clientes>cliente = consulta.getResultList();
	em.getTransaction().commit();
	em.close();
	return cliente;
}

}

O problema é que sempre que uso um desses metodos, o entity manager fecha, e não posso ultilizar outro metodo novamente.
Exemplo minha tela ja começa listando num jtable uma beleza, mas não posso salvar, fala que esta fechado o EM.

Eu sei que tem que declarar como null se nao me engano, e em cada metodo, antes do begin
colocar algo como EntityManager entityManager =

dai sim, funcionava numa boa,mas não lembro mais, alguem pode corrigir esse crud ai no padrao que eu falei? vlw

4 Respostas

Hebert_Coelho

Basta você fazer o meso que você fez no construtor toda vez que for utilizar o EntityManager.
O.o

E melhor, crie um método que faça isso para você. [=

A

deu certo amigo vlw

F

Edite o título da primeira mensagem com um [RESOLVIDO] para saberem que seu problema foi solucionado.

A

deu certo obrigado

Criado 21 de setembro de 2013
Ultima resposta 21 de set. de 2013
Respostas 4
Participantes 3