Pessoal, estou com o seguinte problema:
Tenho uma tela que representa um cadastro de pessoa e seu endereço. Pessoa e Endereço são duas entidades diferentes com um relacionamento 1 x 1.
Endereço é um relacionado de Pessoa.
@SuppressWarnings("unchecked")
public List<People> filterPeople(People people) throws Exception {
if (people != null) {
List<People> peoples = new ArrayList<People>();
List<People> peoplesByAddress = new ArrayList<People>();
try {
Example exPeople = Example.create(people);
Example exPeopleAddress = Example.create(people.getAddress());
exPeople.excludeZeroes();
exPeople.enableLike(MatchMode.ANYWHERE);
exPeople.ignoreCase();
exPeopleAddress.enableLike(MatchMode.ANYWHERE);
exPeopleAddress.ignoreCase();
peoples = HibernateUtil.getSession()
.createCriteria(People.class).add(exPeople).list();
/*peoples = HibernateUtil.getSession()
.createCriteria(People.class).add(exPeople).createCriteria("address").list(); */
if(peoplesByAddress.size()>0)
peoples.addAll(peoplesByAddress);
return peoples;
} catch (Exception ex) {
tx.rollback();
LOG.error(ex);
if (ex instanceof PeopleUniqueException)
throw new PeopleUniqueException(people);
else
throw new Exception();
}
} else {
throw new Exception();
}
}
Espero que não esteja muito confuso...
Abraços !