Quando não seleciono o bairo a consulta dar certo, mais se eu selecionar da o erro acima.
Segue o codigo:
public List<Cliente> ListaClientePorNome(String nome) {
GeralDAO dao = new GeralDAO();
Session session = dao.getSession();
String sql_query = "where 1 = 1";
HashMap<String, String> params_list = new HashMap();
if (this.nome != null && !this.nome.trim().equals("")) {
sql_query = sql_query.concat(" AND lower(u.nome) like lower(:nome) ");
params_list.put("nome", "%" + nome + "%");
}
if (this.telefoneCel != null && !this.telefoneCel.trim().equals("")) {
sql_query = sql_query.concat(" AND lower(u.telefoneCel) like lower(:telefoneCel) ");
params_list.put("telefoneCel", "%" + telefoneCel + "%");
}
if (this.cpfCnpj != null && !this.cpfCnpj.trim().equals("")) {
sql_query = sql_query.concat(" AND lower(u.cpfCnpj) like lower(:cpfCnpj) ");
params_list.put("cpfCnpj", "%" + cpfCnpj + "%");
}
if (this.bairro != null && !this.bairro.trim().equals("")) {
sql_query = sql_query.concat(" AND id_bairro=:bairro ");
params_list.put("bairro", bairro);
}
Query q = session.createQuery("from Cliente u " + sql_query + "ORDER By lower(u.nome) asc");
for (String param : params_list.keySet()) {
q.setParameter(param, params_list.get(param));
}
List<Cliente> clientes = q.list();
return clientes;
}