Dúvida sobre utilização de EntityManager

3 respostas
E

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.

3 Respostas

rod

Injete ele no seu Stateless Session Bean assim:

@PersistenceContext( unitName = "MeuBanco" )
private EntityManager entityManager;
rod

rlazoti:
Injete ele no seu Stateless Session Bean assim:

@PersistenceContext( unitName = "MeuBanco" ) private EntityManager entityManager;

Só não esqueça de colocar o nome da unitName que está no seu persistence.xml

[]'s

E

Beleza. Mas eu gostaria de entender o funcionamento. Quando eu uso injeção de recurso, sempre é o mesmo EntityManager ou cada hora uma nova instância?

Criado 12 de março de 2009
Ultima resposta 12 de mar. de 2009
Respostas 3
Participantes 2