Boa noite uaihebert.
Estou começando a utilizar a EasyCriteria =D
Estou com uma duvida.
Estou com o seguinte cenario:
Entidades:
Pessoa
PessoaEndereco
Cidade
Estado
Pessoa se relaciona com PessoaEndereco que se relaciona com Cidade que se relaciona com Estado.
Uma pessoa tem 3 endereços:
Correspondência, Cobrança e entrega.
Preciso listar todos os clientes de um Estado.
Tentei fazer da seguinte forma:
EasyCriteria<Pessoa> criteria = EasyCriteriaFactory.createQueryCriteria(entityManager, Pessoa.class);
criteria.innerJoin("enderecos");
criteria.andEquals("enderecos.tipoEndereco", "1"); //aqui tentei usar somente o endereço 1 mas não deu certo...
criteria.innerJoin("enderecos.cidade");
criteria.innerJoin("enderecos.cidade.estado");
criteria.andStringIn("enderecos.cidade.estado.uf", ufs);
quando executo, me traz varias vezes o mesmo cliente pelo fato de eu ter mais de um endereço.
gostaria de fazer um filtro para pegar somente o endereço de correspondência(1) e não todos os três.
como posso fazer? tentei usar criteria.andEquals("enderecos.tipoEndereco", "1") mas não tive muito sucesso.
Pode me ajudar?
