Gerenciar EntityManager JPA

Feras,

estou com uma dúvida no EntityManager do JPA, quando eu devo fechar a conexão para evitar problemas ?

isso no caso de insert, update, select e delete

		EntityManager em = new UtilFactoryDAO().getEntityManagerConection();
		try {
			Query query = em.createQuery("SELECT d FROM DUAL d ");
			lista =  query.getResultList();
			em.close();
		} catch (Exception e) {
			e.printStackTrace();
			em.close();
		}

Seguindo a sua abordagem de fazer tudo na mão, tem que ser no bloco finally:

EntityManager em = new UtilFactoryDAO().getEntityManagerConection(); try { Query query = em.createQuery("SELECT d FROM DUAL d "); lista = query.getResultList(); em.close(); } catch (Exception e) { e.printStackTrace(); } finally { em.close(); //AQUI }

Só isso mesmo Fera, não preciso de mais nada ?

Obrigado