Qual seria o melhor padrão para as conexões, pensei em dois modos :
Modo 1 :
Cada função cria e fecha sua própria conexão
Função ‘inserir’
		EntityManagerFactory factory = Persistence.createEntityManagerFactory("Tarefa");
		EntityManager manager = factory.createEntityManager();
		manager.getTransaction().begin();
		manager.persist(t);
		manager.getTransaction().commit();
		manager.close();
		factory.close();
Modo 2:
Uma conexão static para a classe, caso a conexão esteja fechada, um método é usado para abrir.
private static EntityManagerFactory factoryClasse = Persistence.createEntityManagerFactory("Tarefa");
private static EntityManager managerClasse = factoryClasse.createEntityManager();
private static void conectar()
{
	factoryClasse = Persistence.createEntityManagerFactory("Tarefa");
	managerClasse = factoryClasse.createEntityManager();
}
public static Boolean inserir(Tarefa t)
{
	try
	{
		if(managerClasse.isOpen() == false || factoryClasse.isOpen() == false)
			conectar();
		managerClasse.getTransaction().begin();
		managerClasse.persist(t);
		managerClasse.getTransaction().commit();
	}
	catch(Exception e)
	{
		e.printStackTrace();
		return false;
	}
	return true;
}
Em termos de velocidade e/ou segurança qual a mais adequada?