Null exception

3 respostas
M

Pessoal,

Quando faço uma busca por JPA de uma unica tupla (por exemplo busca por id)

return (T) getEntityManager().find(oClass, id);

Quando ele acha um valor blz!!! tudo funciona, mas quando busco por um id que não tem no banco, quando vou acessar algum metodo dele por exemplo getId, ele da erro de null exception.

Como poderia fazer para caso ele não encontre nenhum valor no banco o valor seja igual a null para eu poder saber se encontrou ou não, sem precisar tratar isso dentor de um try cat ???

Obrigado,

Marcelo Gomes

3 Respostas

rod

o método find não lança exception, então o nullpointerexception está vindo do seu código mesmo. Debuga ai para ver o que está acontecendo.

Olhe como esta o javadoc do metodo find:

http://technology-related.com/javaee/5/docs/api/javax/persistence/EntityManager.html#find(java.lang.Class,%20java.lang.Object)

H

Oi. Antes de dar seuObjeto.getId você verifica se o seu objeto é null.

if(objeto != null){
    objeto.getId();
}else {
   // o objeto está vazio.
}

Espero ter ajudado.

M

Quando faço isso ele também da o erro, então tenho que fazer isso dentro de um try cat

try{
  if(objeto != null){  
       objeto.getId();  
   }else {  
   // ele nunca chega aqui!!! pois quando o objeto é = a null ele lança uma null exception. 
   // o objeto está vazio.     
   }  
   catch(Exception ex){
    // se o objeto esta vazio ele vem parar aqui!!!
   }

Eu não gostaria de tratar o menu else dentro do catch!!! :frowning:

Obrigado,

Marcelo Gomes

Não sei se muda alguma coisa mas to usando JPA (hibernate) com Spring 2.5 e C3p0

Criado 25 de fevereiro de 2010
Ultima resposta 26 de fev. de 2010
Respostas 3
Participantes 3