Por favor poderiam me ajudar nesta query.
Estou usando JPA com Hibernate. Eu copio a query gerada e jogo no Mysql Workbench o resultado é um endereço igual, mas debugando no eclipse ela não está retornando nada, Passa direto pelo if, será que está com erro:
Chamo a query assim no bean:
if (enderecos.comDadosIguais(endereco) != null){
context.addMessage(null, new FacesMessage(“Este endereço já está cadastrado na base!”));
}else{
this.enderecos.guardar(endereco);
}
No repositório ela está assim:
public Endereco comDadosIguais(Endereco endereco) { TypedQuery<Endereco> query = manager.createQuery("select e from Endereco e " + "where upper(e.tipoLogradouro) = upper(:tipoLogradouro)" + " and upper(e.logradouro) = upper(:logradouro)" + " and e.numero = :numero" + " and upper(e.complemento) = upper(:complemento)" + " and e.cep = :cep", Endereco.class); query.setParameter("tipoLogradouro", endereco.getTipoLogradouro()); query.setParameter("logradouro", endereco.getLogradouro()); query.setParameter("numero", endereco.getNumero()); query.setParameter("complemento", endereco.getComplemento()); query.setParameter("cep", endereco.getCep()); try{ return query.getSingleResult(); }catch (NoResultException nre){ return null; } }