Olá,
estou tendo problemas para fazer join usando o Criteria com mais de duas tabelas.
Na verdade, estou o problema com a cláusula WHERE, os join’s estão indo numa boa.
Hipoteticamente, minha hierarquia é essa:
Matricula -> Departamento -> Setor -> Cargo
Abaixo está partes do mapeamento da estrutura, caso alguém
saiba o que estou fazendo errado, sinta-se à vontade em postar a solução. 
Mapeamentos
... demais campos ... demais campos ... demais campos… demais campos
Na minha pesquisa, quero fazer uma busca pelo cargo e exibir todas as matriculas, por exemplo.
O código ecrito para realizar essa operação é o seguinte:
Criteria criteria = getSession().createCriteria(matricula.getClass().getName())
.createAlias(“departamento”, departamento.getClass().getName())
.createAlias(“departamento.setor”, setor.getClass().getName())
.createAlias(“departamento.setor.cargo”, cargo.getClass().getName());
.add(_Expression.eq(“departamento.setor.cargo”, cargoBean))
.list();
ao tentar executar essa consulta, é lançado o erro na linha
.add(_Expression.eq(“departamento.setor.cargo”, cargoBean))
com a seguinte mensagem:
could not resolve property: departamento.setor.cargo of: Matricula
Desde já obrigado.
