@Ess_122 escreveu:
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?
Mensagens: 1
Participantes: 1