| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 05:51:56
|
saviobarr
JavaGuru
![[Avatar]](/images/avatar/c0a8d0c999b2f80a8fe99deb269ed572.jpg)
Membro desde: 10/06/2007 12:57:13
Mensagens: 214
Localização: São Paulo
Offline
|
Olá amigos,
Estou tentando criar um EntityManager usando o PersistenceContext, mas o contêiner não injeta o EntityManager. O trecho de código:
@PersistenceContext(unitName="calculo")
private EntityManager em //a variavel em não recebe a injeção.
Se eu fizer "manualmente" a criação do EntityManager, funciona perfeitamente:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("calculo");
EntityManager em = emf.createEntityManager(); //EntityManager criado com sucesso...
Alguém pode explicar porque a annotation @PersistenceContext não está injetando? Não lança exceção, apenas a variável em fica null.
Estou usando a implementação JPA TopLink e servidor JBoss 4.2
Obrigado a todos
Sávio Barros
|
Sávio Barros
http://saviobarr.wordpress.com
"não tentarás acessar um user transaction method a partir de um CMT" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 08:13:42
|
Leonardo3001
GUJ Ranger
Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline
|
Depende, o container só injeta em objetos gerenciados por ele. Para um servidor de aplicações Java EE 5, só ocorre a injeção em: EJB, Managed Bean do Faces e Servlet. Fora isso, depende de containeres de terceiros. Um exemplo notável é o Spring, que também injeta Entity Managers no seus beans, havendo configuração apropriada.
Fora esses casos, principalmente em objetos que VOCÊ instancia, não ocorre a injeção. Mas tem uma coisa, o JBoss não injeta em Servlets, porque não é uma implementação Java EE 5 completa (digamos que só 95%), e mesmo assim, é muito chato injetar EntityManager em Servlets, pois estes são reusáveis entre várias requisições. Em Servlet, quando possível, é preferível injetar EntityManagerFactory e pegar manualmente um EntityManager deste.
|
Leonardo Veríssimo
-------------------------------------------------
Objectzilla |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2008 08:42:39
|
saviobarr
JavaGuru
![[Avatar]](/images/avatar/c0a8d0c999b2f80a8fe99deb269ed572.jpg)
Membro desde: 10/06/2007 12:57:13
Mensagens: 214
Localização: São Paulo
Offline
|
Olá,
Estou tentando injetar num ManagedBean do JSF.... deveria funcionar, certo?
Sávio
|
Sávio Barros
http://saviobarr.wordpress.com
"não tentarás acessar um user transaction method a partir de um CMT" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/05/2010 20:42:07
|
leandro_bortolotto
Debugger
Membro desde: 25/05/2006 16:43:41
Mensagens: 60
Offline
|
Boa noite.
Estou passando pelo mesmo problema, em tetoria está tudo configurado como deve estar, mas o EntityManager sempre vem null.
saviobarr, você conseguiu resolver seu problema?
Obrigado.
|
Leandro Sehnem Bortolotto |
|
|
 |
|
|