segunda-feira, 21 de janeiro de 2008

Criteria Restrictions.or

Criteria criteria = getSession().createCriteria(Aluno.class, "a");

ProjectionList retorno = Projections.projectionList().create();

retorno.add(Projections.property("a.id"), "id");
retorno.add(Projections.property("a.nome"), "nome");

criteria.setProjection(retorno);

criteria.add(Restrictions.or(Restrictions.eq("a.nome", "Joana"),
Restrictions.eq("a.idade", 56)));

criteria.setResultTransformer(new AliasToBeanResultTransformer(Aluno.class));
Collection alunos = criteria.list();

System.out.println(alunos.size());

// CONSOLE:
// select
// this_.id as y0_,
// this_.nome as y1_
// from
// Aluno this_
// where
// (
// this_.nome=?
// or this_.idade=?
// )
}

Nenhum comentário: