Hibernate Criteria

2 respostas
L

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. :smiley:

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.

2 Respostas

deniswsrosa

vc ja tentou fazer com hql??? outra coisa… tem certeza que precisa de join??? talvez vc possa fazer de outra forma… tente reformular sua consulta.

L

Olá Denis,

então … eu estou usando criteria para poder limitar o número de registros que devem ser recuperados, pois estas tabelas possuem muitos registros. Via HQL não sei como estabelecer esse limite. :frowning:

Valeu !

Criado 3 de setembro de 2006
Ultima resposta 4 de set. de 2006
Respostas 2
Participantes 2