Problemas com Criteria

model

	private Set generos;

daoHibernate

public List getCarimbosPorOrgaoProcesso(String idOrgaoProcesso, Integer codigoGenero)
	{
		DetachedCriteria criteria = DetachedCriteria.forClass(Carimbo.class);
		criteria.createAlias("orgaosSuperiores", "orgaos");
		criteria.add(Restrictions.eq("orgaos.id", idOrgaoProcesso));
		criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
		
		List result = getHibernateTemplate().findByCriteria(criteria);
		
		return result != null && !result.isEmpty() ? result : null; 
	}

Pessoal, eu tenho essa query e preciso que ela faça um filtro apartir do Genero que eu receber nela, estou precisando verificar se o meu set de Generos contem o genero recebido na query mais não estou conseguindo achar uma maneira! alguem tem alguma ideia ai?

(Restrictions.eq("generos.id", "id"))

Crie um alias antes…
O correto seria assim:

  .createAlias("categoriaItems", "categorias")
  .add(Restrictions.eq("categorias.id", "id")) 

Abraços.

[quote=Kalimdor]…public List getCarimbosPorOrgaoProcesso(String idOrgaoProcesso, Integer codigoGenero){ ... …[/quote]@Kalimdor,
Na verdade, vc está perdendo o melhor da Criteria (tendo em vista q não existe outra Abordagem + OO q Criteria).
Vc poderia passar os próprios Objetos|Classes como Parâmetro, assim: public List getCarimbosPorOrgaoProcesso(OrgaoProcesso orgaoProcesso, Genero genero){ ... e daí adicionar as Critérias necessárias e só partir p/ abraço!!! :stuck_out_tongue:
(muito provavelmente vc não vai nem precisar desses Alias’s (conforme for o Mapeamento)! :O)