Problemas com Hibernate - createCriteria

Olá!

Estou tentando pesquisar no hibernate o seguinte caso:

Lancamento tem como fk a subcategoria
Subcategoria tem com fk a Categoria
E quero pesquisar por Lancamento q tiver Categoria = x

tentei assim mas nao rolou:
Criteria sql = session.createCriteria(Lancamentos.class, “l”);
sql.add(Restrictions.eq(“l.subcategoria.categoria.id”, 1L));
sql.list();

Usei Expression tb e deu o mesmo resultado… (se uso apenas “l.subcategoria.id” funciona normal)

beleza cara tenta isto aí

Criteria crit = sessao.createCriteria(Classe1.class);
crit.createCriteria(“nomeDaClassePorString”).add(Restriction.eq(“campo”,valor)

Ae, consegui!

Um colega meu achou a barbada! :smiley:

session.createCriteria(Lancamentos.class, “l”)
.createAlias(“l.subcategoria”, “s”)
.createAlias(“s.categoria”, “c”)
.add(Restrictions.eqProperty(“s.id”, “l.subcategoria.id”))
.add(Restrictions.eqProperty(“c.id”, “s.categoria.id”))
.add(Restrictions.eq(“c.id”, 1L))
.list();