2
respostas

Duvida sobre EntityManager

Fala galera. Uso Java desktop e estou com um problema...

Por exemplo, quando abro duas telas de clientes uma não enxerga o que a outra faz. Vou tentar ser mais claro, se na tela 1 excluo o cliente JOÃO e vou para tela 2, esse cliente ainda parece.

Ah, esse é o método que uso para obter o entity manager:

    private static EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("piccolo");

    public static EntityManager getEntityManager() {
        return entityManagerFactory.createEntityManager();
    }

    public static void fecharFabrica() {
        entityManagerFactory.close();
    }

    public static void fecharconexao(EntityManager em) {

        if (em != null && em.isOpen())
            em.close();

    }
2 respostas

Fala pessoal. Consegui meio que resolver...

Chamei o em.clear() para limpar o cache no meu método que atualiza o grid. Alguém sabe se isso é o correto a fazer?

Fiquei em dúvida... Como assim a outra não enxerga? Você executava uma query com a outra e o resultado vinha inválido? É isso? De todo jeito, pelo que entendi vc ta usando um EntityManager só o tempo todo.. Acho que o melhor é vc sempre fechar e abrir quando for precisar dele.