Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema com JPQL

Boa tarde estou com um problema que me tira do sério, tenho o código a baixo e gostaria de ter um método bem parecido porem com consultas com parâmetros opcionais ao invés de um , não consigo pensar em uma forma que não coloque muitos ifs alguém teria uma solução para esse problema ?

public Usuario buscaPeloLogin(String login) {
        Usuario usuario = (Usuario) this.manager
        .createQuery("select usuarios from Usuario usuarios where usuarios.login = :pLogin")
            .setParameter("pLogin", login).getSingleResult();

        return usuario;
    }
1 resposta
solução!

Marcus,

Parâmetros opcionais são comumente resolvidos com a Criteria API. Resolve, mas o código fica meu assustador na minha opinião!

Veja essa aula do curso de JPA: https://cursos.alura.com.br/course/jpa-avancado/task/2703

Os criterias do Hibernate, sem JPA, são mais simples mas não são fortemente tipados.

Para saber mais sobre o espírito fortemente tipado das consultas da Criteria API, veja esse meu post no blog da Caelum: http://blog.caelum.com.br/consultas-fortemente-tipadas-com-jpa/