Consulta Utilizando criterias Hibernate

Bom dia, estou tendo que fazer alguma consultas usando hibernate,
estou precisando de ajuda pra saber se estou no caminho certo,
ou se existe uma forma mais fácil de se fazer.

Preciso listar as consultas por convenio que está no paciente.

CriteriaBuilder cb = dao.getEm().getCriteriaBuilder();
		CriteriaQuery<Consulta> query = cb.createQuery(Consulta.class);
		Root<Consulta> root = query.from(Consulta.class);

		Fetch<Consulta, Paciente> fetch = root.fetch("paciente",
				JoinType.INNER);		
		query.select(root);

até o momento, cheguei nesse passo, alguém poderia me ajudar como adicionar uma restrição na tabela paciente do join

Obrigado a todos…

abraços

Cara, seria legal você entender a lógica

Eu faço assim:

Para buscar um mêsdentro da MinhaClasse

Criteria p= getSession().createCriteria(MinhaClasse.class); p.add(Restrictions.eq("mes", mes)); return p.list();

Alem do mês da MinhaClasse eu preciso de alguns IDs de uma ClasseVinculada

[code]Criteria p= getSession().createCriteria(MinhaClasse.class);
p.add(Restrictions.eq(“mes”, mes));

Criteria s = p.createCriteria(“classeVinculada”);
s.add(Restrictions.eq(“id”, id));

return p.list();

[/code]

Lembrando que para fazer isso, dentro da MinhaClasse
eu preciso ter mapeado:

private ClasseVinculada classeVinculada;