Não entendi uma coisa desse exemplo.
EntityManager em = Persistence.createEntityManagerFactory("financas").createEntityManager();
Conta conta = em.find(Conta.class, 1); // find() vai devolver uma conta Managed
em.getTransaction().begin();
em.remove(conta);
em.getTransaction().commit();
em.close();
Essa parte não deveria ficar entre a transação begin e commit???
Conta conta = em.find(Conta.class, 1); // find() vai devolver uma conta Managed