Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Return Null Hibernate

Boa tarde, tenho uma rotina onde se o retorno for null ele cria o usuário. O código abaixo faz o processo. O retorno é nulo do objeto mais ele esta apresentando o erro abaixo: "javax.persistence.NoResultException: No entity found for query"

    public Usuario find(Integer id) {    

        try{
            return manager.createQuery("select distinct(u) from Usuario u where u.id = :id", Usuario .class).setParameter("id", id).getSingleResult();    
        }catch(NoResultException e){
            e.printStackTrace();
            return null;
        }

    }

    public void criaUsuario(Integer id) {

        Usuario usuario = new Usuario();
        if(this.find(id) == null) 
        {
            usuario = this.geraAdmin();
            System.out.println(usuario.getId());
        }

    }
2 respostas
solução!

Olé Edgar, boa tarde!

Está apresentando o erro já que seu código pede para imprimir o erro no bloco que trata a exceção, nesta linha:

e.printStackTrace();

Experimente tirar essa linha do código, assim:

try{ 
    return manager.createQuery("select distinct(u) from Usuario u where u.id = :id", Usuario .class).setParameter("id", id).getSingleResult();
}catch(NoResultException e){
    return null; 
}

E execute novamente. Qualquer dúvida, poste aqui novamente.

Espero ter ajudado e bons estudos!

Thais era isso mesmo, nem me atendei ai isso muito obrigado.