Eu estou usando JavaEE com Stateless Bean, JPA com Hibernate e banco de dados Firebird. Estava criando meu EntityManager no constructor do meu Stateless Bean. Observei que as alterações nos dados do banco por fora do programa não estavam sendo refletidas no meu programa. Aí passei a criar o EntityManager na própria chamada dos métodos e o problema foi resolvido.
Aí fiquei com esta dúvida, o correto é criar um EntityManager em cada chamada de métodos ao invés de deixá-lo sempre criado? Isto não diminui a performance? Não existe uma forma de atualizar o EntityManager? Tentei dar um flush mas ele dá erro dizendo que tem que ter uma transação aberta.