Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Fechar conexao

Boa noite galera. To com um baita problema. Quando rodo qualquer classe do finanças, a conexão com o banco é encerrada, porém num que criei a conexão permanece aberta e o processo também.

A diferença é que fiz um dao para fazer as operações.

A classe:

public static void main(String[] args) { EntityManager manager = new JPAUtil().getEntityManager();

EstadoDao estadoDao = new EstadoDao(); List estados = estadoDao.getEstados();

for (Estado estado : estados) { System.out.println(estado); }

manager.close(); }

O DAO:

public List getEstados() { EntityManager manager = new JPAUtil().getEntityManager();

try {

Query query = manager.createQuery("select e from Estado e");

return query.getResultList();

} catch (Exception e) {

e.printStackTrace();

} finally {

manager.close(); }

return null; }

O que será que estou fazendo de errado?

6 respostas
public static void main(String[] args) { EntityManager manager = new JPAUtil().getEntityManager();

EstadoDao estadoDao = new EstadoDao();
 List<> estados = estadoDao.getEstados();

for (Estado estado : estados) { System.out.println(estado); }

manager.close(); }

O DAO:

public List<Estado> getEstados() { EntityManager manager = new JPAUtil().getEntityManager();

try {

Query query = manager.createQuery("select e from Estado e");

return query.getResultList();

} catch (Exception e) {

e.printStackTrace();

} finally {

manager.close(); }

return null; }

Valeu por formatar o código, não sabia como fazer

eu ajeitei jefferson o codigo copia e cola lá, acho que o erro tava no erro do List

Ah sim, agora que percebi. Mas acho que por não formatar não saiu os <>. No meu código está assim: List<Estado>

Mas mesmo alterando para List<> o processo continua aberto.

Obs: Estou usando o java.util.List

solução!

agora eu entendi. Primeiro criar esse metodo no Jpautil.. public void fecharconexao(){ entityManagerFactory.close(); } e adiciona essa JPAUtil.fechar(); no final do seu main qualquer coisa voce fala...

Valeu João Eduardo, agora resolveu. Obrigadão pela força!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software