Pessoal é o seguinte a duvida é simples, porem nao sei muito de criteria… tenho as tabelas abaixo.

telho que selecionar o estado e listar o municipio correspondente.
municipioDAO
public List<Municipio> lista(Long idUf){
Session session = (Session) em.getDelegate();
return session.createCriteria(Municipio.class)
.add(Restrictions.idEq(idUf))
.list();
}
desse jeito que fiz ele compara o id da tabela uf com o id da tabela municipio… que resulta em apenas um resultado errado…
gostaria de saber como faço para comparar a FK do municipio que no caso é idUf.
MunicipiosController
@Get @Path("/municipios/buscaMunicipios.json")
public void loadMunicipios(Long uf){
List<Municipio> municipios = dao.lista(uf);
result.use(Results.json()).withoutRoot().from(municipios)
.serialize();
}
Vlw