Problemas com Criteria

3 respostas
K

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?

3 Respostas

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

Crie um alias antes…
O correto seria assim:

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

Abraços.

D

Kalimdor:
public List getCarimbosPorOrgaoProcesso(String idOrgaoProcesso, Integer codigoGenero){ ...
@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)

Criado 17 de agosto de 2010
Ultima resposta 19 de ago. de 2010
Respostas 3
Participantes 3