Unir resultados de consultas - Hibernate Criteria

Bom dia a todos.

Tenho uma aplicação e esta possui uma classe CandidatoTO.

A classe CandidatoTO possui um CurriculoTO e este, por sua vez, está relacionado a uma tabela de áreas de interesse (AreaTO). Tal tabela, também relaciona-se com AreasAtividadesTO, onde estão descritas as várias ramificações de conhecimento que um determinado candidato poderia ter interesse (TI, Medicina, etc).
Dessa forma, o candidato ao cadastrar seu currículo pode adicionar várias áreas de interesse e cada uma deve representar apenas uma ramificação de conhecimento.

Além disso, um CandidatoTO possui um atributo cidade e está ligado a uma tabela de estados do Brasil.

Preciso realizar uma busca por cidade, estado e áreas de interesse. Utilizando alias, consegui construir uma criteria para pesquisa por cidade ou estado. Porém, não consegui, construir algo que compreendesse também a busca por áreas de interesse.

Pensei em realizar duas buscas diferentes (por cidade ou estado e por áreas de interesse) e depois unir os resultados, excluindo as ocorrências semelhantes, mas também não consegui. Não sei se essa idéia é viável e/ou correta.

Dessa forma, peço a ajuda de vocês. Caso a minha idéia seja viável, por favor me indiquem algo no qual eu possa pesquisar e/ou me espelhar. Se não, por favor me indiquem algo que seja interessante para este problema.

Tentei utilizar aliases adicionais e divisions, mas não consegui sair do lugar.

Desde já, obrigado a todos.