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;
}