JPA + persistindo em um projeto WEB  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
roanbrasil
JavaChild

Membro desde: 17/12/2007 12:03:50
Mensagens: 104
Localização: Campinas, SP
Offline

Eu tenho os seguintes códigos e estou pegando NullPointerException no meu EntityManager em na classe BaseDAOImpl, por acaso estou fazendo algo errado, pois quando coloco direto no Servlet o @PersistentUnit emf e depois o EntityManager funciona e não vem Null, a partir que abstraio e coloco em um DAO ele começa a dar como NullPointerException, provavelmente estou fazndo algo de errado mas como fazer funcionar no cso de projeto web? Alguém pode me dizer? Precisa do web.xml e persistence.xml? Vou colocar via das dúvidas.

Pra detalhe, estou usando glassfish, as configuirações de senha e tale stá ok, tanto q funciona transação ou consulta no servlet somente quando absatraio que pego NullPointerException...
















[MSN]
roanbrasil
JavaChild

Membro desde: 17/12/2007 12:03:50
Mensagens: 104
Localização: Campinas, SP
Offline

StackTrace, sei que vocês vão pedir.

[MSN]
walyson amaral
Debugger
[Avatar]

Membro desde: 19/12/2008 22:29:30
Mensagens: 50
Offline

Olá roanbrasil. só por desencargo, seu persistence.xml está dentro do diretorio META-INF ?
Como está seu jdbc/TestDS, poderia posta-lo.
Qual servidor de aplicação está usando ?

walyson amaral
("O essencial é invisível aos olhos")
roanbrasil
JavaChild

Membro desde: 17/12/2007 12:03:50
Mensagens: 104
Localização: Campinas, SP
Offline

Opa walyson, tudo bem? O persistence.xml está ok e está dentro do META-INF tanto que como vou postar no exemplo abaixo ele funciona e acessa o banco.. A partir do momento que tiro desse Servlet que faço request diretamente do Browser ele não funciona mais. O Servlet seria UserResource e a classe EJB BaseDAOImpl . Então no código abaixo funciona, só quando mudo que para de funcionar. O servidor de aplicação é glassfish uma vez que o jersey é da sun e tudo funciona mais prático.

Eu estou com um projeto utilizando Jersey Rest web services. Gerei o projeto com maven2 e estou usando o JPA. A classe Jersey se chama Resource que é nada mais nada menos que um Servlet. Por exemplo o resource: O código abaixo funciona normalmente.




@PersistenceUnit(unitName="PU")
EntityManagerFactory emf;


EntityManager em = emf.createEntityManager();
... //consulta de código Query q= bla bla bla


A partir do momento que tiro o que está em negrito no código acima e jogo em uma classe EJB @Stateless que implementa uma interface @Remote, simplesmente essa linha de chamada
EntityManager em = emf.createEntityManager();

que acrescentei na classe EJB, de nome por exemplo BaseDAOImpl, simplesmente dá uma exceção NullPointerException no EntityManager pois não conseguiu injetar da mesma forma o PersistenceUnit nessa classe como no exemplo acima.

Gostaria de saber como resolver esse problema?
[MSN]
walyson amaral
Debugger
[Avatar]

Membro desde: 19/12/2008 22:29:30
Mensagens: 50
Offline

Tenta fazer assim no seu BaseDAOImpl<T>:



walyson amaral
("O essencial é invisível aos olhos")
roanbrasil
JavaChild

Membro desde: 17/12/2007 12:03:50
Mensagens: 104
Localização: Campinas, SP
Offline




fiz essa alteração e o erro continua ...

olha o strack trace agora


está no query q o erro

[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team